2012-05-08 13 views
0

phpを使用してSQLデータベースに新しいエントリを追加しようとしています 新しいエントリを追加できますが、データベースに2行の空白行が追加されます。 私が使用しているクエリはphp空白のエントリを追加するには

$query = "INSERT INTO dbo.Products (Name,Id,Price) VALUES ('$NewName','$NewId','$Price')"; 
$result = sqlsrv_query($conn3, $query); 

なぜそれを行うのでしょうか?

+0

リスを試すことができ、INSERTクエリは正しいです。他のコードをチェックする必要があります。あるいは、もっと助けてもらうために、すべてのコードを提供してください。 –

+0

'Products'テーブルの空白行*、空行はどういう意味ですか?そのような場合は、何かがクエリをトリガしています。クエリ自体に問題はありません。 – Nadh

+0

このクエリの前にスクリプトを共有してください –

答えて

0

VALUESの代わりにVALUEを使用して、1つのエントリだけが追加されていることを確認してください。

これにより、1つのアイテムにのみ挿入が制限されます。問題が何であるかをより徹底的にデバッグしたい場合は、それが必要です。

最後に、変数がすべて正しくエスケープされているかどうかをチェックすることは決して痛いことではありません。

+0

VALUEを使用したときには何もしませんでしたが、私は戻ってきて1行追加しました: –

+0

それは1つですが、これ以上追加すると、空白のエントリが作成されます:s –

+0

ok ..そして、テスト文字列としてクエリを出力し、サーバーのコンソールから同じものを実行するとどうなりますか? – petr

0

あなたは

$sql = "INSERT INTO dbo.Products (Name,Id,Price) VALUES('%s','%d','%f')"; 
$result = sqlsrv_query($conn3, sprintf($sql,mysql_real_escape_string($NewName),$NewId,$Price)); 
関連する問題