繁体   English   中英

如何在MySQL查询中使用带有单引号的值的数组?

[英]How do I use an array with a value with a single quote in a MySQL query?

mysql_query("INSERT INTO objects(objId, objectId, objectCategory, SortOrder, Name) VALUES('{$obj_id}', '{$object_id}', '{$object_category}', '{$sortorder}', 'My " . $objecta['Name'] . "')")or die(mysql_error()); 

$objecta['Name']中包含单引号时,此代码将失败。 我似乎无法引用所有内容,即使$objecta['Name']中包含单引号,它也无法正常工作。

两件事情:

1)您应该转义您的输入。 mysql_real_escape_string($objecta['Name'])这样可以确保诸如'字符之类的字符被转义,即\\'允许插入发生。

2)不建议使用mysql_*扩展名,您实际上至少应使用mysqli_*或pdo或其他数据库驱动程序。 在这些其他数据库驱动程序之一中使用准备好的语句可以实现与我上面说的相同的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM