0
基本上,它就是標題所說的內容。我通過mysqli-> query進行查詢並且它可以工作。我像這樣對它進行重新說明,它什麼都不做。準備好的語句返回0個元素,手動查詢返回1
$conn = new mysqli('localhost','root','root','test');
if (!$conn) { die('Error1');}
$sql = 'SELECT * FROM test_data WHERE type = ?';
$one = 1;
$ps = $conn->prepare($sql);
$ps->bind_param('i', $one);
$ps->execute();
$out = '';
$ps->bind_result($out);
print_r($ps);
echo out;
$ps->fetch();
print_r($ps);
echo out;
輸出以下,重複兩次:
mysqli_stmt Object ([affected_rows] => -1 [insert_id] => 0 [num_rows] => 0 [param_count] => 1 [field_count] => 7 [errno] => 0 [error] => [sqlstate] => 00000 [id] => 1)
有誰知道我可以用它來進一步調試這個?
編輯:這是工作的代碼:
$conn = new mysqli('localhost','root','root','test');
if (!$conn) { die('Error1');}
$sql = 'SELECT * FROM test_data WHERE type = 1';
$ps = $conn->query($sql);
$ps->fetch_assoc();
print_r($ps);
,輸出:
mysqli_result Object ([current_field] => 0 [field_count] => 7 [lengths] => Array ([0] => 1 [1] => 10 [2] => 3 [3] => 1 [4] => 1 [5] => 1 [6] => 2) [num_rows] => 10 [type] => 0)
什麼是原來那個工作? – OSborn
我對你的代碼有點困惑,你正在用第一個bind_param執行第一個查詢,然後你設置了一個新的bind_param但不執行它,你的'echo'是錯誤的,並且你有'$ ps'因爲沒有變化,所以兩次都會給你同樣的信息。 – Prix
@Prix糟糕。讓我測試一下。 – Albertoni