我正在努力将我的功能从MySQL转移到MySQLi标准。
这是我对getresult的旧功能
function getResult($sql) {
$result = mysql_query($sql, $this->conn);
if ($result) {
return $result;
} else {
die("SQL Retrieve Error: " . mysql_error());
}
}
但是,我一直关注mysqli_query函数的W3schools。这是我现在的位置。
function getResult($connection){
$result = mysqli_query($connection->conn);
if ($result) {
return $result;
} else {
die("SQL Retrieve Error: " . mysqli_error());
}
}
现在,W3schools上的示例与我想要使用mysqli_query的方式略有不同。我试图将它指向我的数据库,而不是W3S上的示例中的一些输入或常量。
Notice: Trying to get property of non-object in C:\xampp\htdocs\cad\func.php on line 92
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\cad\func.php on line 92
Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\cad\func.php on line 96
SQL Retrieve Error:
谢谢
答案 0 :(得分:1)
从PHP帮助文件中我找到了这些函数定义
mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
string mysqli_error ( mysqli $link )
mysqli_query()将链接和实际查询作为必需参数,mysqli_error也将链接作为一个链接。
答案 1 :(得分:1)
您的版本不会因多种原因而起作用,其中最重要的原因是您没有包含要发送的查询。假设$ this-> conn以某种方式正确设置,请尝试:
function getResult($sql) {
$result = mysqli_query($this->conn, $sql); //Note parameters reversed here.
if ($result) {
return $result;
} else {
die("SQL Retrieve Error: " . mysql_error());
}
}