通过PHP将数据插入MySQL表

通过PHP将数据插入MySQL表,php,mysql,Php,Mysql,我正试图通过一个用PHP编写的网页将一些简单的用户数据添加到数据库中,但下面的代码更具体地说,第三行打断了页面。我是否使用了错误的MySQL函数?我很确定我的查询格式正确 mysql_query("CREATE TABLE stats ( userAgent CHAR(20) )"); $userAgent = $_SERVER["HTTP_USER_AGENT"]; mysql_query("INSERT INTO stats VALUES ("$userAgent")); 应该是: my

我正试图通过一个用PHP编写的网页将一些简单的用户数据添加到数据库中,但下面的代码更具体地说,第三行打断了页面。我是否使用了错误的MySQL函数?我很确定我的查询格式正确

mysql_query("CREATE TABLE stats ( userAgent CHAR(20) )");

$userAgent = $_SERVER["HTTP_USER_AGENT"];
mysql_query("INSERT INTO stats VALUES ("$userAgent"));
应该是:

mysql_query("INSERT INTO stats VALUES (".$userAgent.")");
应该是:

mysql_query("INSERT INTO stats VALUES (".$userAgent.")");
是否正在转义$userAgent变量

必须先清理数据,然后才能接近数据库

<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Clean
$userAgent = mysql_real_escape_string($_SERVER["HTTP_USER_AGENT"]);
// Query
mysql_query("INSERT INTO stats VALUES ($userAgent)");
?>
是否正在转义$userAgent变量

必须先清理数据,然后才能接近数据库

<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
    OR die(mysql_error());

// Clean
$userAgent = mysql_real_escape_string($_SERVER["HTTP_USER_AGENT"]);
// Query
mysql_query("INSERT INTO stats VALUES ($userAgent)");
?>

伊顿公学B.有正确的答案,但请注意,你所写的代码将让你任由命运摆布


不要这样做。伊顿公学B.有正确的答案,但请注意,您所写的代码将任由您摆布


不要这样做

PHP错误可以像下面的注释那样修复。圆点用于将字符串粘合在一起:

mysql_query("INSERT INTO stats VALUES (".$userAgent.")");
另外,您应该执行一些SQL注入保护,用户代理字符串是用户定义的,有工具可以修改它,因此需要对其进行清理。此外,用户代理是一个字符串,因此需要将其置于单引号之间

mysql_query("INSERT INTO stats VALUES ('" . mysql_real_escape_string($userAgent) . "')");
另一件重要的事情是错误处理——回显错误描述是在SQL语法中发现错误所必需的

mysql_query("INSERT INTO stats VALUES ('" . mysql_real_escape_string($userAgent) . "')")
    or die("MySQL Error: " . mysql_error());

PHP错误可以像下面这样修复:圆点,用于将字符串粘合在一起:

mysql_query("INSERT INTO stats VALUES (".$userAgent.")");
另外,您应该执行一些SQL注入保护,用户代理字符串是用户定义的,有工具可以修改它,因此需要对其进行清理。此外,用户代理是一个字符串,因此需要将其置于单引号之间

mysql_query("INSERT INTO stats VALUES ('" . mysql_real_escape_string($userAgent) . "')");
另一件重要的事情是错误处理——回显错误描述是在SQL语法中发现错误所必需的

mysql_query("INSERT INTO stats VALUES ('" . mysql_real_escape_string($userAgent) . "')")
    or die("MySQL Error: " . mysql_error());

在页面上展开。有错误吗?这是什么?在页面上展开。有错误吗?这是什么?这修复了PHP错误,但没有修复错误的SQL语法和SQL注入问题。由于SQL注入而被否决。很抱歉,像这样的错误建议已经太多了。所以在统计值中插入Mozilla/5.0 Macintosh;U英特尔Mac OS X 10.6;判定元件;rv:1.9.2.8 Gecko/20100722 Firefox/3.6.8是一个有效的SQL语句?这修复了PHP错误,但没有修复错误的SQL语法和SQL注入问题。由于SQL注入而被否决。很抱歉,像这样的错误建议已经太多了。所以在统计值中插入Mozilla/5.0 Macintosh;U英特尔Mac OS X 10.6;判定元件;rv:1.9.2.8 Gecko/20100722 Firefox/3.6.8是有效的SQL语句吗?