【发布时间】:2017-05-06 03:25:55
【问题描述】:
我正在尝试在 php 上进行选择,但在将绑定参数传递给标准 sql 语句时遇到问题。我已经为此失去了一整天,我找不到任何解决方案。我有一个sql语句和一个参数(这部分是不断变化的)
这里有我的 sql 语句和执行:
$mysqli=getDB();
$stmt = $mysqli->prepare('SELECT nom from noms where id=?'); // cambiar select
$sql->bind_param($id);
$result = $mysqli->query($sql);
$results = array();
while($row = mysqli_fetch_array($result)){
$results[] = array( // modificar el que passa dintre del bucle
'nom' => $row['nom']
);
}
echo json_encode($results);
这是我连接数据库的方式 (getDB()):
function getDB() {
// Credencials
$servername = "server";
$username = "user";
$password = "pswwd";
$dbname = "database";
$mysqli = new mysqli($servername, $username, $password, $dbname);
if ($mysqli->connect_errno) {
echo "Error al connectar: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
return $mysqli;
}
这实际上是一个网络服务功能,当我调用它时,我得到一个 500 消息错误。我需要运行更改 $id 值的语句(此参数来自外部)。我只从 JS 控制台收到 500 错误状态,但我没有看到任何错误消息。
编辑:
我对语句和执行做了一些改动:
$mysqli=getDB();
$stmt = $mysqli->prepare('SELECT nom from noms where id=?'); // cambiar select
$stmt ->bind_param($id);
$result = $mysqli->query($stmt );
$results = array();
while($row = mysqli_fetch_array($result)){
$results[] = array( // modificar el que passa dintre del bucle
'nom' => $row['nom']
);
}
echo json_encode($results);
日志仍然显示相同的消息: PHP 致命错误:在非对象上调用成员函数 bind_param()
【问题讨论】:
标签: php mysql database web-services