我知道这很容易,但我是一个菜鸟,不知道我在这里做错了什么:
1: $mysqli = new mysqli('test', 'test', 'test', 'test');
2: if ($stmt = $mysqli->prepare($query)) {
3: if (!$stmt->execute()) {
4: $out .= "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
5: }
6: $out = $stmt->fetch_array();
7: } else {
8: $out .= $mysqli->error;
9: }
我在第6行遇到Fatal error: Call to undefined method mysqli_stmt::fetch_array()
错误。
答案 0 :(得分:2)
如果您使用的是PHP 5.3或更高版本,则可以使用mysqli_stmt::get_result()
,然后使用mysql_result::fetch_array()
:
$mysqli = new mysqli('test', 'test', 'test', 'test');
if ($stmt = $mysqli->prepare($query)) {
if (!$stmt->execute()) {
$out .= "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
$res = $stmt->get_result();
while ($out = $res->fetch_array()) {
}
else {
$out .= $mysqli->error;
}
此外,您可能需要查看所有MySQL-Improved documentation。
您还可以使用mysqli_result::fetch_all()
一次获取所有行。
答案 1 :(得分:0)
好的,在重新组合并尝试完全不同的代码之后(因为fetch只是不起作用,不知道为什么)我能够使用这个来完成我的查询功能:
function run_query($query)
{
$out = '';
$db = new PDO("mysql:host=test;dbname=test","test","test");
$out = $db->query("$query")->fetchAll(PDO::FETCH_OBJ);
return $out;
}
感谢大家的帮助。