插入时出现奇数MySQL问题 [英] Odd Mysql issue on insert
问题描述
不知道这是怎么回事,但是如果我运行此命令:
Not sure what's going on here, but if I run this:
$query = 'INSERT INTO users
(`id`, `first_name`, `second_name`, `register_date`, `lastlogin_date`)
VALUES
("'. $user_id . '", "' . $first_name .'", "'. $second_name . '", "' . $date . '", "' . $date . ");';
$result = mysql_query($query);
我没有回报,但是如果我改成这样,那就没问题了
I get no return, but if I change it to this it's fine:
$query = 'INSERT INTO users (`id`, `first_name`, `second_name`, `register_date`, `lastlogin_date`)
VALUES ("21021212", "Joe", "Bloggs", "20090202", "20090202");';
$result = mysql_query($query);
用户ID = bigint(20)
User id = bigint(20)
名字= varchar(30)
first name = varchar(30)
第二个名字= varchar(30)
second name = varchar(30)
date = int(8)
date = int(8)
起初,我认为这是var的问题,但它们完全相同,但仍然无法正常工作.
At first I thought it was a issue with the vars but they are exactly the same and still don't work.
任何帮助表示赞赏.
推荐答案
养成使用 mysql_real_escape_string转义所有数据库输入的习惯-实际上,您应该使用类似 PDO 或
Get into the habit of escaping all database inputs with mysql_real_escape_string- really, you should use some kind of wrapper like PDO or ADODb to help you do this, but here's how you might do it without:
$query = sprintf("INSERT INTO users ".
"(id, first_name, second_name, register_date, lastlogin_date)".
"VALUES('%s','%s','%s','%s','%s')",
mysql_real_escape_string($user_id),
mysql_real_escape_string($first_name),
mysql_real_escape_string($second_name),
mysql_real_escape_string($date),
mysql_real_escape_string($date));
$result = mysql_query($query);
,并使用 mysql_error
if (!$result)
{
echo "Error in $query: ".mysql_error();
}
这篇关于插入时出现奇数MySQL问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!