Php 对非对象和未定义变量调用成员函数prepare()
我今天学习php很糟糕。有人能告诉我为什么这行不通吗? 我在第23行对非对象ad未定义变量调用member function()时出错 代码如下:Php 对非对象和未定义变量调用成员函数prepare(),php,Php,我今天学习php很糟糕。有人能告诉我为什么这行不通吗? 我在第23行对非对象ad未定义变量调用member function()时出错 代码如下: <?php // connect to the MySQL server $conn = new mysqli('localhost', 'username', 'password', 'Org_db'); // check connection if (mysqli_connect_errno()) { exit('Connect fa
<?php
// connect to the MySQL server
$conn = new mysqli('localhost', 'username', 'password', 'Org_db');
// check connection
if (mysqli_connect_errno()) {
exit('Connect failed: '. mysqli_connect_error());
}
//for insert user info into users table columns
$id = '';
$name = 'Bob Grundy';
$pass = md5("secure");
$email = 'bob@acgs.org';
$reg_date = date("m/d/Y");
//line 23
if (!$stmt = $mysqli->prepare("INSERT INTO `users` (`id`, `name`, `pass`, `email`,
`reg_date`) VALUES ( ?,?,?,?,?)")) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
/* Prepared statement, bind and execute */
if (!$stmt->bind_param("issss", $id, $name, $pass, $email, $reg_date)) {
echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
?>
您定义了
$conn=new mysqli(..
),但在使用!$stmt=$mysqli->prepare(..
)之后,$mysqli
变量应更改为$conn
,例如:
if (!$stmt = $conn->prepare("INSERT INTO `users` (`id`, `name`, `pass`, `email`,
`reg_date`) VALUES ( ?,?,?,?,?)")) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
您定义了
$conn=new mysqli(..
),但在使用!$stmt=$mysqli->prepare(..
)之后,$mysqli
变量应更改为$conn
,例如:
if (!$stmt = $conn->prepare("INSERT INTO `users` (`id`, `name`, `pass`, `email`,
`reg_date`) VALUES ( ?,?,?,?,?)")) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
您没有为$mysqli声明任何值。只需将
$mysqli
替换为$conn
即可。您也没有为$mysqli声明任何值。只需将$mysqli
替换为$conn
即可。谢谢Jason,你们一定会缓解一些头痛!!@user2042111您应该接受这个答案,然后结束问题。谢谢Jason,各位当然可以缓解一些头痛!!@user2042111你应该接受这个答案来结束这个问题。