我有一個代碼,創建mysqli的對象和準備查詢:如何獲得所有的值進行預處理語句查詢結果
$GLOBALS['DB_something'] = new mysqli('$database_hostname','$database_username','$database_password','$database_default');
$GLOBALS['DB_prepared_get'] = $GLOBALS['DB_something']->prepare("SELECT ? from database_name WHERE hash=?");
和下一個代碼,獲取和顯示結果。由於我最近沒有進入準備好的陳述,特別是不使用PHP,我不知道如何從中獲得結果。
當我編寫沒有預處理語句的代碼時,它可以工作,但出於很多原因,我需要用預處理語句重寫它。
$GLOBALS['DB_prepared_get']->bind_param('ss', $arg, $index);
$GLOBALS['DB_prepared_get']->execute();
$GLOBALS['DB_prepared_get']->bind_result($result); # this is an array of values
$GLOBALS['DB_prepared_get']->fetch();
# below this, I don't know if it's ok
if(mysql_num_rows($result) == 0){
return "0";
}
else{
while($GLOBALS['DB_prepared_get']->fetch()) {
return $result;
}
}
$GLOBALS['DB_prepared_get']->close();
感謝您的任何幫助。
編輯:只是要清楚,我的問題是如何獲取確切的結果值打印出來或什麼。所以語法是我可能做錯了。
什麼是選擇,在準備好的聲明不會爲第一部作品?參數如果我沒有弄錯,你必須明確地寫出 – FabioCosta
準備好聲明的意義何在? :( – trainoasis
安全有時性能,你會改變的是像SELECT * FROM table WHERE id =?這樣的值,並且在準備好的語句中使用帶有直接列的倍數Ids – FabioCosta