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