php - 带引号的姓氏会破坏 SQL 查询,如何解决?

标签 php mysql

<分区>

Possible Duplicate:
apostrophes are breaking my mysql query in PHP

我请一位 friend 测试我的网站,他的姓氏有一个 '. O'Rourke,所以我在 Rourke 周围遇到语法错误。显然是由撇号引起的。

我如何防止这种情况发生,以便他可以注册到我的网站?

$name = $user_profile[name];

mysql_select_db("gamedb", $con);

$sql="INSERT IGNORE INTO Users (FID, Name, Date) VALUES ('$fid','$name',NOW())";

转义能解决问题吗?我实际上无法尝试转义它,因为该名称是从 usr facebook 帐户中检索到的。

谢谢

最佳答案

使用准备好的语句。这将自动处理输入转义。当前的 INSERT 打开一个 SQL injection attack .查看mysqli_stmt::prepare()

关于php - 带引号的姓氏会破坏 SQL 查询,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7279139/

相关文章:

php - 在不同的列中显示帖子

php - 如何从 laravel 中的表中选择所有列名?

mysql - 将列别名分配给条件在 sqlite 中不起作用的地方

c# - 我的第一个 c# 语句...执行此操作的正确方法是什么?

php - 我的结果页面的最后部分有问题

php - Zend Framework 在生产环境中优雅地处理异常

php - 在PHP中,二维数组中的行数和列数?

Javascript:第二次单击按钮时隐藏内容

mysql FIND_IN_SET 连接中的多列

c# - 使用 ASP.NET Entity Framework 连接到 MySQL 数据库