MySQL语法中的PHP错误
以下是我创建的函数:MySQL语法中的PHP错误,php,mysql,function,syntax,Php,Mysql,Function,Syntax,以下是我创建的函数: function get_phurl_option($option) { $db_result = mysql_query("SELECT value FROM ".DB_PREFIX."options WHERE option = '$option'") or db_die(__FILE__, __LINE__, mysql_error()); $db_row = mysql_fetch_row($db_result); return $db_row[0
function get_phurl_option($option) {
$db_result = mysql_query("SELECT value FROM ".DB_PREFIX."options WHERE option = '$option'") or db_die(__FILE__, __LINE__, mysql_error());
$db_row = mysql_fetch_row($db_result);
return $db_row[0];
}
但是,在访问使用该函数的页面时,我发现以下错误:
File: /usr/home/<removed>/includes/functions.php
Line: 28
Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option = 'shortcode_type'' at line 1
文件:/usr/home//includes/functions.php
电话号码:28
消息:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“option=”shortcode_type“”附近使用的正确语法
我不知道为什么会这样,我试过撇号、语音标记和反勾号,这两种方法似乎都不管用。我无法在这里找出问题所在,因此非常感谢您的帮助。选项是MySQL保留字,因此您需要将其括在反勾中
$db_result = mysql_query("SELECT value FROM ".DB_PREFIX."options WHERE `option` = '$option'")
指定的错误通常意味着您试图访问的字段无效或由MySQL保留。确保在反勾号中转义所有变量:
SELECT `value` FROM `".DB_PREFIX."options` WHERE `option` = '$option'
正确地转义你的变量,它会帮你省去很多错误和紧张。$option看起来像什么?查询本身看起来很好,假设设置了DB_PREFIX,则在执行它之前回显最终查询。。。这将使您能够准确地看到问题所在……请停止使用古老的
mysql.*
函数编写新代码。它们不再得到维护,社区已开始恢复。相反,你应该学习并使用或。如果你不能决定,将帮助你做出选择。如果你想学习。