插入时出现奇数MySQL问题 [英] Odd Mysql issue on insert

查看:86
本文介绍了插入时出现奇数MySQL问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

不知道这是怎么回事,但是如果我运行此命令:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆