如何执行两个查询并排?
我试图执行多个查询一次/或一个接一个,但它是失败的。这是为什么,这里我是如何构建我的代码:如何执行两个查询并排?
$query="
INSERT INTO ptb_users (user_id,
id,
first_name,
last_name,
email)
VALUES('NULL',
'NULL',
'".$firstname."',
'".$lastname."',
'".$email."'
)";
mysql_query($query) or die();
$result = mysql_query("UPDATE ptb_users SET user_id=id");
$query="INSERT INTO ptb_profiles (id,
user_id,
display_name)
VALUES('NULL',
'NULL',
'".$username."'
)";
mysql_query($query) or die();
$result = mysql_query("UPDATE ptb_profiles SET id=user_id");
你真的应该使用PDO和准备语句,mysql_ *不再支持。它会让你的生活更轻松,特别是重复发言。
否则,你的错误是什么?
Please, don't use mysql_*
functions in new code。他们不再维护and are officially deprecated。请参阅red box?请改为了解prepared statements,并使用PDO或MySQLi - this article将帮助您决定哪个。如果您选择PDO,here is a good tutorial。
即使你的答案真的不回答他的问题 - 这是一个健全的建议,不要使用过时的界面。 – fredrik 2013-03-15 12:31:59
使用可变$query
和$result
不同的名称应该是
$query="INSERT INTO ptb_users (user_id,id,first_name,last_name,email)VALUES('NULL','NULL','".$firstname."','".$lastname."','".$email."')";
$result = mysql_query($query) or die();
$result1 = mysql_query("UPDATE ptb_users SET user_id=id");
$query2="INSERT INTO ptb_profiles (id,user_id,display_name)VALUES('NULL','NULL','".$username."')";
$result2 = mysql_query($query2) or die();
$result3 = mysql_query("UPDATE ptb_profiles SET id=user_id");
这应该不会影响查询是否成功 - 只有他保留有关以前查询的任何可用信息。 – fredrik 2013-03-15 12:30:46
正在尝试中,我猜是AUTO_INCREMENT列字段中插入'NULL'
。 你应该从查询中忽略它们:
$query = "INSERT INTO ptb_users (first_name, last_name, email)
VALUES('".$firstname."', '".$lastname."', '".$email."')";
即使空应该在那里,根据表的实现/定义,他们不应该在'
封闭的,这意味着该字符串NULL,而不是值。
你有什么错误信息? – triclosan 2013-03-15 12:25:14
我没有得到任何错误 – 2013-03-15 12:28:04
只是一个黑色的屏幕 – 2013-03-15 12:29:05