0

非常に奇妙な。ここで何が問題なのかわかりません。MySQL データベースへの接続は確立されていますが、PHP から INSERT できません。Phpmyadmin でクエリを実行しても問題ありません。

$rawquery = "
    INSERT INTO $log_table_name
        (ref, timestamp, txn_id, email, item_name, item_number, custom, mc_gross, mc_currency, paypal_message)
    VALUES
        (NULL, CURRENT_TIMESTAMP, '$txn_id', '$payer_email', '$item_name', '$item_number', '$custom', '$payment_amount', '$payment_currency', 'INVALID');
";
echo $rawquery;
$query = mysql_query($link, $rawquery) or die('Could not access table');

プロデュース:

INSERT INTO wp_ipn_log
    (ref, timestamp, txn_id, email, item_name, item_number, custom, mc_gross, mc_currency, paypal_message)
VALUES
    (NULL, CURRENT_TIMESTAMP, '', '', '', '', '', '', '', 'INVALID');Could not access table

私は INVALID メッセージを期待しています。それをデータベースに挿入したいだけです。

問題はクエリの形式ですか、それともデータベースに問題がありますか?

追加情報 (vinodadhikary の要求による):

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db(DB_NAME, $link) or die ("Could not open db ".mysql_error());

これはうまくいっています。

4

2 に答える 2

2

コードをデバッグしようとするときは、一般的な文字列 - ではなくmysql_error()/mysqli_error($link)を使用すると便利です。die()die('Could not access table')

また、mysql/mysqli のクエリ/リンクの順序は同じではありません

mysql_queryですmysql_query(query,link)ので、あなたのコードは

$query = mysql_query($rawquery,$link) or die(mysql_error()); 

whilemysqli_querymysqli_query(link, query)であるため、コードは

$query = mysqli_query($link, $rawquery) or die(mysqli_error($link));
于 2013-08-17T16:38:41.497 に答える