亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 SQL 查詢定義為變量時出現意外的 E0F

將 SQL 查詢定義為變量時出現意外的 E0F

PHP
慕尼黑8549860 2022-12-11 17:14:26
unexpected EOF我正在為一個小型論壇編寫代碼,并且在將 SQL 查詢設置為 PHP 變量的 PHP 代碼中不斷遇到錯誤。我希望代碼不會出現該錯誤,并在存儲在 MySQL 數據庫中的論壇應用程序中顯示類別名稱和描述。我嘗試在 Internet 上的其他地方查找 MySQL 和 PHP 手冊,但無濟于事。在我看來,直到我開始$_GET['id']在mysqli_real_escape_string($connected, $_GET['id'])第 7 行中輸入category.php任何POST帶有create_cat.php. 這很可能不僅僅是我的 IDE,因為它會在程序運行時顯示在我的錯誤日志中。我的代碼如下所示。這只是整個文件的一小部分,但足以重現錯誤。類別.php:        //do a query for the topics        $sql = "SELECT                      topic_id,                    topic_subject,                    topic_date,                    topic_cat                FROM                    topics                WHERE                    topic_cat = " . mysqli_real_escape_string($_GET['id']);        $result = mysqli_query($sql);論壇應用程序中有更多文件,但我猜不會需要它們。
查看完整描述

1 回答

?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

將函數調用放在字符串中是行不通的。您需要在字符串外部調用該函數,然后將其連接起來。


'另外,您在函數調用之后錯過了。


$sql = "SELECT cat_id, cat_name, cat_description FROM categories WHERE cat_id = '" . mysqli_real_escape_string($connected, $_GET['id']) . "'";

但是,您真的應該學習使用準備好的語句。


$sql = "SELECT cat_id, cat_name, cat_description FROM categories WHERE cat_id = ?";

$stmt = $connected->prepare($sql);

$stmt->bind_param("s", $_GET['id']);

$stmt->execute();

$result = $stmt->get_result();

如果出于某種原因您更喜歡過程語法:


$sql = "SELECT cat_id, cat_name, cat_description FROM categories WHERE cat_id = ?";

$stmt = mysqli_prepare($connected, $sql);

mysqli_stmt_bind_param($stmt, "s", $_GET['id']);

mysqli_stmt_execute($stmt);

$result = mysqli_stmt_get_result($stmt);


查看完整回答
反對 回復 2022-12-11
  • 1 回答
  • 0 關注
  • 147 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號