0

データが SQL データベースに反映されないのはなぜですか? データベースに接続していることはわかっています。そして、投稿されたデータがこのページに届いていることは、エコーできるのでわかります。!emptys のある行に問題があります。xxx ではなく yyy の値を入力すると、「すべてのフィールドに入力してください」というメッセージが表示されます。しかし、両方を空白のままにするか、xxx のみに値を入力すると、何も表示されません。両方の値を入力すると、「失敗しました」というメッセージが表示されるため、データは SQL に挿入されません。

if (isset($_POST['xxx']) && ($_POST['yyy']))  {
$xxx = $_POST['xxx'];
$age = $_POST['yyy'];
    if (!empty($xxx) && !empty($yyy)) {

    $query = "INSERT INTO test VALUES ('".mysql_real_escape_string($child_name)."',
    '".mysql_real_escape_string($age)."')";
        if ($query_run = mysql_query($query)) {
        echo 'Data inserted.';
        } else {
            echo 'Failed.';
        }
} else {
    echo 'Please fill out all fields';
}
}
4

5 に答える 5

3

まず、issetステートメントを修正しますyyy

if (isset($_POST['xxx']) && isset($_POST['yyy']))

2番目の修正:

$yyy = $_POST['yyy'];それ以外の$age = $_POST['yyy'];

3番目の修正:

if (mysql_query($query))それ以外のif ($query_run = mysql_query($query))

mysql_query()戻るのでbool

echo mysql_error();echo 'Failed.'; mysqlエラーを取得する代わりに!

于 2012-10-18T14:40:15.693 に答える
0

phpとmysqlのエラーを確認してください。

<?php

echo (mysql_error());
error_report(E_ALL);

?>
于 2012-10-18T14:41:31.123 に答える
0

クエリを確認し、このコードを試して、名前を変更してください('id', 'field name')

 $query = "INSERT INTO test ('id', 'field name') VALUES ('". mysql_real_escape_string($child_name) ."', '". mysql_real_escape_string($age) ."')";
于 2012-10-18T14:41:38.767 に答える
0

手動でクエリを試しましたか?

クエリを送信する前にエコーし、phpmyadmin で実行してみてください。

echo mysql_error();また、エラーを表示するために追加します

于 2012-10-18T14:42:06.457 に答える
0

いくつかの問題:

1.  if (isset($_POST['xxx']) && ($_POST['yyy']))  { //needs to be
    if (isset($_POST['xxx']) || isset($_POST['yyy']))  {

2.  if (!empty($xxx) && !empty($yyy)) { //needs to be
    if ( !empty($xxx)) ||  !empty($age) ) { 

3.  if ($query_run = mysql_query($query)) { //whats $query_run?

mysql_query($query)TRUEクエリが成功した場合は を返します。マニュアル参照

于 2012-10-18T14:42:48.950 に答える