Hy all,
不确定这里发生了什么,但如果我运行这个:
$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);
我得不到回报,但是如果我改成它就没关系了:
$query = 'INSERT INTO users (`id`, `first_name`, `second_name`, `register_date`, `lastlogin_date`) VALUES ("21021212", "Joe", "Bloggs", "20090202", "20090202");'; $result = mysql_query($query);
用户名= bigint(20)
名字= varchar(30)
第二名= varchar(30)
date = int(8)
起初我认为这是vars的一个问题,但它们完全一样,仍然无法正常工作.
任何帮助赞赏.
养成使用mysql_real_escape_string转义所有数据库输入的习惯- 实际上,您应该使用某种类型的包装器(如PDO或ADODb)来帮助您执行此操作,但是您可以在不执行以下操作的情况下执行此操作:
$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(); }