当我的插入查询包含引号(例如Kellog's
)时,它无法插入记录。
错误MSG:
您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在行的’s’,’Corn Flakes 170g’,’$ 15.90’,’$
15.90’,’$ 14.10’,’-‘)’附近使用正确的语法1 MySQL更新错误:
首先's'
,应该是Kellogg's
。
有什么解决办法吗?
用反斜杠转义报价。喜欢'Kellogg\'s'
。
这是您的功能,使用mysql_real_escape_string
:
function insert($database, $table, $data_array) {
// Connect to MySQL server and select database
$mysql_connect = connect_to_database();
mysql_select_db ($database, $mysql_connect);
// Create column and data values for SQL command
foreach ($data_array as $key => $value) {
$tmp_col[] = $key;
$tmp_dat[] = "'".mysql_real_escape_string($value)."'"; // <-- escape against SQL injections
}
$columns = join(',', $tmp_col);
$data = join(',', $tmp_dat);
// Create and execute SQL command
$sql = 'INSERT INTO '.$table.'('.$columns.')VALUES('. $data.')';
$result = mysql_query($sql, $mysql_connect);
// Report SQL error, if one occured, otherwise return result
if(!$result) {
echo 'MySQL Update Error: '.mysql_error($mysql_connect);
$result = '';
} else {
return $result;
}
}
问题内容: 我正在通过PHP文本框获取数据,并使用普通的insert命令将其插入MySQL数据库。文本框在文本框旁为用户提供了有关特定登录ID的注释。问题在于,当用户输入撇号(’)例如句子“我们必须照顾好PC”时,会引发错误。 我知道为什么会这样,因为SQL会将其假定为该值的字符串结尾,但是我不知道如何对其进行转义。我希望在MYSQL中转义它。 如果我在MySQL中转义它,即使没有错误生成并且插入
本文向大家介绍xml 撇号和引号,包括了xml 撇号和引号的使用技巧和注意事项,需要的朋友参考一下 示例 属性值可以用单引号或双引号出现。适当的字符必须转义。
问题内容: 这个问题已经在这里有了答案 : 如何防止PHP中进行SQL注入? (28个答案) 4年前关闭。 我有一个困惑的问题,我似乎无法理解… 我有两个SQL语句: 第一个将信息从表单输入数据库。 第二个从上面输入的数据库中获取数据,发送电子邮件,然后记录交易的详细信息 问题是似乎单引号仅在第二个条目上触发MySQL错误!第一个实例可以正常工作,但是第二个实例触发。 表单中的数据处理方式与表单中
问题内容: 该 逃生() 函数,已被废弃,取而代之 encodeURIComponent方法 ,但 encodeURIComponent方法 不编码单引号/单引号字符。我需要使用AJAX格式来避免姓氏(例如“ O’Neill”)中的撇号。他们为什么要消除他们试图改善的东西的能力? 编辑: 因此,这是一个代码示例,可以更彻底地说明问题。因此,您可以看到姓“ O’Neill”包含一个撇号,当在url中
我试图在Thymeleaf模板中动态创建Javascript,以便使用GoogleChart的Timeline包(注意:Google库的Spring版本中没有这个包)。 我有一个胸腺素片段的值。包含以下代码的html,然后将其包含在实际页面中: 在我的GantController类中,我有以下代码: 字符串参数=“['MegaCorp应用程序1',新日期(2018,7,2),新日期(2019,4,
问题内容: 我正在尝试学习编写查询的最佳方法。我也了解保持一致的重要性。到现在为止,我在没有任何实际考虑的情况下随机使用单引号,双引号和反引号。 例: 另外,在上述例子中,考虑到,,等可以是变量。 这是什么标准?你是做什么? 我已经在这里阅读了大约20分钟的类似问题的答案,但是似乎没有确切的答案。 问题答案: 反引号用于表和列标识符,但是仅当标识符是MySQL保留关键字时,或者当标识符包含空格字符