0
我遇到了mysqli和准备好的语句问题。我刚开始学习的mysqli一个小时,我有麻烦不理解为什么我得到这两个错误:未声明的变量mysqli
Notice: Undefined variable: mysqli in /opt/lampp/htdocs/lr/testingi.php on line 17
Fatal error: Call to a member function prepare() on a non-object in /opt/lampp/htdocs
/lr/testingi.php on line 17
我有一个包含数据库连接文件。这里是。
$mysqli = new mysqli("localhost", "user", "password", "db");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
这是重现错误的测试文件。
session_start();
require_once 'core/database/connect.php';
function user_id_from_username ($username) {
if ($stmt = $mysqli->prepare("SELECT `user_id` FROM `users` WHERE `username` = ?"))
$stmt->bind_param('s', $username);
$stmt->execute();
$stmt->bind_result($user_id);
echo $user_id;
$stmt->close();
}
$username = 'Jason';
user_id_from_username ($username);
我听说做一个变量全球是危险的?第二种选择会更好吗? – jason328
我肯定会为参数投票!一个OO选项可以是一个带有'$ mysqli'的类作为实例参数,这个参数甚至可以更好的IMO,w/e浮起你的船,就像他们说的那样。 – quickshiftin