2 回答

TA貢獻(xiàn)2021條經(jīng)驗 獲得超8個贊
代碼中的主要錯誤是'?'查詢中的拼寫錯誤。如果?是在引號內(nèi),則不會將其視為占位符,而是將其視為文字值。
使用 MySQLi 時,您應(yīng)該啟用 MySQLi 異常模式。如果這樣做,則不再需要檢查每個函數(shù)的結(jié)果。您還應(yīng)該使用 OOP 風(fēng)格,因為它不那么冗長,而且不太可能犯下愚蠢的錯誤。
// put this line before you open the MySQLi connection
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$stmt = $linkDB->prepare('SELECT * FROM '.PREFIX.'Issues WHERE id=? AND disabled=0 LIMIT 1');
$stmt->bind_param('i', $_POST['article']);
$stmt->execute();
$detail = $stmt->get_result()->fetch_assoc();

TA貢獻(xiàn)1836條經(jīng)驗 獲得超3個贊
如果您不是經(jīng)驗豐富的編碼員,我會推薦 PDO。它是面向?qū)ο蟮?,適合現(xiàn)代的 PHP 編碼方式。
在您的配置文件中,您輸入:
$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
還有你的腳本:
$statement = $pdo->prepare('SELECT * FROM '.PREFIX.'Issues WHERE id = :id AND disabled = 0 LIMIT 1';
$statement->execute(['id' => $_POST['article']);
$result = $statement->fetch(PDO::FETCH_ASSOC);
- 2 回答
- 0 關(guān)注
- 184 瀏覽
添加回答
舉報