从MySQL数据库获取数据时遇到问题。它获取行,当使用print_r打印结果时,它看起来是正确的,但是当获取数组中的一个项时,总是空的,我不知道为什么!
如果我使用phpMyAdmin,我可以看到数据库中的所有行,它们看起来都是正确的。
有人知道吗?
<?php
$con = mysqli_connect($host, $user, $password) or die("Failed to connect to MySQL: " . mysqli_connect_error());;
mysqli_select_db($con, $database) or die("Cannot select DB");
$r = mysqli_query($con, "SELECT Question FROM TempQuestions") or die('Query failed: ' . mysql_error());
Print "Rows ". mysqli_num_rows($r) . "<br>"; // Returns 10 rows
while ($dbResult = mysqli_fetch_array( $r)) {
print_r($dbResult); // Prints the question like Array ([0] => The question in DB, [Question] => The question in DB)
Print "<br><br>";
Print "Question: ";
Print $dbresult['Question']; // Is always empty!
Print $dbresult[0]; // Is always empty!
Print "<br><br>";
}
mysqli_free_result($r);
mysqli_close($con);
?>
最佳答案
... or die('Query failed: ' . mysql_error());
你不能把
mysql_*
和mysqli_*
混为一谈。现在应该可以了,变量名区分大小写:
while ($dbresult = mysqli_fetch_array($r)) {
print_r($dbresult);
Print "<br><br>";
Print "Question: ";
Print $dbresult['Question'];
Print $dbresult[0];
Print "<br><br>";
}
关于php - MySQL提取为空(但实际上不是),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19838971/