我有一个PHP循环。
在循环中我将有一个Select语句。
我收到错误
致命错误:未捕获错误:无法通过引用传递参数2
我不知道我做错了什么。
这是我的发言
<?php
$query = "SELECT customer.id AS customerid,customer.doc,
order.id AS orderid ,order.doc FROM customer
Inner Join order ON customer.doc = order.doc
Where customer.doc= ?";
if ($stmt = $mysqli->prepare($query)) {
$stmt->bind_param("i", 'DOC48599');
/* execute query */
$stmt->execute();
/* store result */
$stmt->store_result();
printf("Number of rows: %d.\n", $stmt->num_rows);
/* close statement */
$stmt->close();
}
/* close connection */
$mysqli->close();
?>
我的第二个问题是在Loop内部使用Select语句的最佳实践是什么。
所以对于每个循环,它都会经历;它将获取一个ID并在select语句中执行select语句绑定ID。
谢谢
错误在这一行:
$stmt->bind_param("i", 'DOC48599');
您不能将字符串'DOC48599'直接传递为参数,您需要将其存储在变量中,然后将变量传递给bind_param
方法。
您还必须注意传递的参数的类型:如果您的参数是字符串,则需要使用“s”而不是“i”。看看here
$myParameter = 'DOC48599';
$stmt->bind_param("s", $myParameter);