转换一个MySQL功能的mysqli
这是旧版本的MySQL代码,工程确定:转换一个MySQL功能的mysqli
function getResult($sql) {
$result = mysql_query($sql, $this->conn);
if ($result) {
return $result;
} else {
die("SQL Retrieve Error: " . mysql_error());
}
}
不过,我试图改变它的mysqli。这是我到目前为止的地方。
function getResult($connection){;
$result = mysqli_query($connection, $this->conn); //L92
if ($result) {
return $result;
} else {
die("SQL Retrieve Error: " . mysqli_error($connection)); //L96
}
}
可怕的消息正在发生:
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs\sotdhit\dogsfunc.php on line 92
Warning: mysqli_error() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs\sotdhit\dogsfunc.php on line 96
SQL Retrieve Error:
为什么facepalming我。它也可能是一个在网页上的电话搞砸了吗?这里是。
$db1 = new dbmember(); //name of the class
$db1->openDB();
$sql="SELECT * from member";
$result=$db1->getResult($sql);
echo "<table border='1'>";
echo "<tr><th>Member ID</th><th>Name</th><th>Address</th><th>Postcode</th><th>Photo</th></tr>";
while($row = mysqli_fetch_assoc($result))
{
echo "<tr>";
echo "<td>{$row['mid']}</td><td>{$row['name']}</td>";
echo "<td>{$row['address']}</td><td>{$row['postcode']}</td>";
echo"<td><img height='80' width='120' src='{$row['photo'] }' /></td>";
echo "</tr>";
}
echo "</table>";
其他各地的道:
$result = mysqli_query($this->conn, $connection);
^^^^^^^^^^^^
预计mysqli的连接句柄是第一个参数,与MySQL不同,它用它作为一个可选的最后一个参数。
好的,明白了。但是,由于某些原因,参数2将作为NULL中断操作。你认为没有任何东西从网站传递给函数,因为我改变了一些变量名。我不确定。 – user2557798
如果$ connection在函数中为null,那么你要么传递一个null,要么传递一个未定义的变量,或者什么都不传递。 –
我明白了,但我真的不知道还有什么问题。我意识到数据没有通过,在某个地方。但我看过的例子似乎并不涉及我在这里想要达到的目标。有什么明显的看起来可能会导致呃逆?我也可以加上谢意。 – user2557798
请仔细阅读警告,然后查看代码的哪一部分,以确定实际连接。 – Sirko
我第二次Sirko。 –
你正在将一个SQL字符串传递给你的函数,作为一个名为'$ connection'的参数;但实际的连接似乎在$ this-> conn中。在mysqli_query()周围交换两个参数(并考虑将'$ connection'重命名为更少混淆的东西) – andrewsi