0

私はこれを何度も作りましたが、今はできません:(

挿入は常にfalseを返しますが、同じSQLスクリプト(出力から取得)を実行すると、問題なくデータベースに挿入されます。一部の値が別のテーブルからフェッチされているため、データベースに接続しています。

これは私のコードです:

     $query = "INSERT INTO normotensiones(fecha,macropera,pozo,equipo_pmx,equipo_compania,paciente,sexo,edad,id_compania,otra_compania,puesto,ta,tum,ove,coordinador) 
                                VALUES('$fecha','$macropera','$pozo','$equipo_pmx','$equipo_compania','$paciente','$sexo',$edad,$id_compania,'$otra_compania','$puesto','$ta','$tum','$ove','$coordinador')";
        if (mysql_query($query,$connection)){
            //OK
        } else {
            $errno = mysql_errno();
            $error = mysql_error();
            mysql_close($connection);
            die("<br />$errno - $error<br /><br />$query");
            exit;
        }

出力は次のとおりです。

0-

INSERT INTO normotensiones(fecha,macropera,pozo,equipo_pmx, equipo_compania,paciente,sexo,edad,id_compania, otra_compania,puesto,ta,tum,ove,coordinador) 
                VALUES('20111001','P. ALEMAN 1739','P. ALEMAN 1715','726', 'WDI 838','SERGIO AYALA','M',33,21, '','','110/70','ROBERTO ELIEL CAMARILLO','VICTOR HUGO RAMIREZ','LIC. PABLO GARCES')

エラーはないように見えますが、常にif命令のelse部分のコードを実行します。何か案が?前もって感謝します。

4

2 に答える 2

1

mysql_select_db問題は、接続後に行が欠落している可能性があると思います。

データベースとの接続が確立されたら、DB を選択する必要があります。目的のテーブルが存在するデータベースが選択されていることを確認してください。

また、次のスニペットを使用して、mysql_errors から役立つ情報を取得することもできます。

    $connection = mysql_connect('localhost', 'root', 'password');

    if (!$connection) {
        die('<br>Could not connect: ' . mysql_error());
    }

    if (!mysql_select_db('db_name')) {
       die('Could not select database: ' . mysql_error());
    }

これらのコード行の後にクエリを挿入してみてください。ではごきげんよう。

于 2013-01-31T05:22:23.723 に答える
0

I agree with the others concerning the column types. INT is one of the only data types that do not require single quotes.

There are two blank strings. There is a possibility that the variables are not defined, and therefore giving you a PHP exception (not even in the MySql yet) but that requires stricter-than-normal exception settings. I would personally look into the $connection variable. Before the SQL query statement, put this and send us the cleaned results:

echo '<pre>'.var_dump($connection, true).'</pre>';

Additionally, on your mysql_connect function call, put

OR die('No connection')

afterwords. Do the same thing with the mysql_select_db function, changing it to 'No DB Select' obviously.

最終的には、より多くの情報が必要になります。しかし、mysqli に変更することは非常に望ましいことです。

おー!また、接続しているユーザーの権限が変更されていないことを確認してください。あるユーザー アカウントを使用して PhpMyAdmin に接続しているのに、PHP コードでは別のアカウントを使用している人を時々見かけます。これには問題があり、場合によっては別のアカウントを忘れてしまうため、最終的に問題が発生します。

于 2013-01-31T04:39:04.163 に答える