0

一度に複数のクエリを実行しようとしています/または次々に実行しようとしていますが、失敗しています。これはなぜですか、これが私のコードをどのように構成したかです:

$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");
4

3 に答える 3

0

PDO とプリペアド ステートメントを実際に使用する必要があります。mysql_* はサポートされなくなりました。特にステートメントを繰り返す場合に、あなたの人生が楽になります。

そうでなければ、あなたのエラーは何ですか?

mysql_*新しいコードで関数を使用しないでください。それらはもはや保守されておらず、公式に非推奨です赤いボックスがか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事はどちらを使用するかを決めるのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

于 2013-03-15T12:25:53.753 に答える
0

変数$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");
于 2013-03-15T12:29:34.923 に答える
0

'NULL'auto_increment 列であると推測しているフィールドに挿入しようとしています。クエリからそれらを省略する必要があります。

$query = "INSERT INTO ptb_users (first_name, last_name, email )
            VALUES('".$firstname."', '".$lastname."', '".$email."')";

テーブルの実装/定義によれば、nullが存在する必要がある場合でも'、値ではなく文字列NULLを意味するため、それらを囲む必要はありません。

于 2013-03-15T12:29:42.973 に答える