問題描述
我已經(jīng)定義了變量 $row_id1(例如 $row_id1 = 1;)
I have defined variable $row_id1 (for example $row_id1 = 1;)
在 mysql 中,列名為 Number.
In mysql is column called Number.
想要選擇列Number,如果列中存在$row_id,想要獲取(獲取,定義)值.實際想檢查列 Number 中是否存在 $row_id 值.
Want to select the column Number and if in the column exists $row_id, want to get (fetch, define) the value. Actually want to check if in column Number exists $row_id value.
代碼有什么問題?
$stmt = $db->prepare("SELECT Number FROM 2_1_journal WHERE Number = :Number1");
$stmt->bindParam(':Number1', $row_id1); //value from $_POST
$stmt->execute();
$Number1 = $stmt->fetchAll(PDO::FETCH_ASSOC); // seems here something is wrong
echo $Number1 .' $Number1<br>';
在輸出中我得到數(shù)組 $Number1
In output I get Array $Number1
好像簡單(愚蠢)的問題,但搜索了幾個小時卻沒有解決方案
As if simple (stupid) question but searching for some hours and no solution
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
更新代碼
這部分與問題無關(guān)(僅供參考)
This part is not related to problem (only for information)
require($_SERVER['DOCUMENT_ROOT'] . "/_additionally_protected/session.class.php");
$session = new session();
// Set to true if using https
$session->start_session('_a', false);
session_regenerate_id();
//require($_SERVER['DOCUMENT_ROOT'].'/_additionally_protected/request_blocker.php'); //slow page load
require($_SERVER['DOCUMENT_ROOT'].'/_measure_time_start.php');
require($_SERVER['DOCUMENT_ROOT'].'/_additionally_protected/db_config.php');
header('Content-type: text/html; charset=utf8');
require($_SERVER['DOCUMENT_ROOT'] . "/only_private/blackhole.php");
ini_set('session.bug_compat_warn', 0);
ini_set('session.bug_compat_42', 0);
這與問題有關(guān)(這里我從輸入中獲取值)
This is related to problem (here I get values from input)
if(get_magic_quotes_gpc())
$row_id1 = htmlspecialchars(stripslashes($_POST['row_id1']));
else
$row_id1 = htmlspecialchars($_POST['row_id1']);
echo $row_id1 .' row_id1 from $_POST<br>';
連接到mysql
try {
$db = new PDO("mysql:host={$dbhost};dbname={$dbname};charset=utf8", $dbuser, $dbpass//, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
//echo "Connected to database"; // check for connection
}
catch(PDOException $ex) {
//echo "An Error occured!"; //user friendly message
//print "Error!: " . $ex->getMessage() . "<br/>";
//some_logging_function($ex->getMessage());
exit;
}
這里我從 mysql 獲取最后一行編號.后來我將數(shù)字+1 傳遞給 html 隱藏的 iput 字段.我的意思是在頁面加載時我得到最后一個數(shù)字.如果用戶點擊按鈕不執(zhí)行代碼.
Here I get last row number from mysql. Latter I pass the number+1 to html hidden iput field. I mean on page load I get last number. If user clicks on button do not execute the code.
//fetch last Number to pass to row_id and entry_id
if( !$_POST['register'] ) {
echo '!$_POST[register] <br>';
//+++++++++++++ now multiple PDO
// Select table with query
$stmt = $db->query("
SELECT Number FROM 2_1_journal ORDER BY Number DESC LIMIT 1
");
// Set fetching mode
$stmt->setFetchMode(PDO::FETCH_ASSOC);
// Assign $row as your key to access Table fields
foreach ($stmt as $row) :
echo $row['Number'] .' $row[Number] On page load (reload) get number of last row in mysql; to pass to Entry ID and rowid<br>';
$_SESSION['last_number_from_mysql'] = $row['Number'];
endforeach;
}//if( !$_POST['register'] ) {
會話(上)
這是給我?guī)韱栴}的部分//從 DB 中獲取 Number 以與行 ID(隱藏)進行比較.旨在決定是否需要記錄新行或是否更新現(xiàn)有行.代碼在 $_POST 上執(zhí)行.所以必須定義$row_id(上面定義的)
This is the part that makes problem for me // Get Number from the DB latter to compare with row ID (hidden). Aim to decide if need to record new row or if to update existing. The code is executed on $_POST. So must define $row_id (defined above)
if( $_POST['register'] ) {
如果用戶只點擊按鈕然后執(zhí)行代碼
If user click on button only then execute the code
echo $row_id1 .' row_id1 before select Number where Number is $row_id1<br>';
這是檢查.我看到 row_id1 號;這意味著收到了號碼.就在下面想用
This is to check. I see row_id1 number; That means that the number is received. And just below want to use it
$stmt = $db->prepare("SELECT Number FROM 2_1_journal WHERE Number = :Number1");
$stmt->bindParam(':Number1', $row_id1);
$stmt->execute();
echo $Number1 = $stmt->fetchColumn() .' $Number1<br>';
僅當點擊按鈕 2 次時此回顯
This echo only if 2 times click on button
這里是html輸入
<input type="tex" name="row_id1" id="row_id1" value="
<?php
//if( ($_POST['register']) === 'Save draft' ) {
//echo $_POST['row_id1'];
/
【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!