2016-05-23 6 views
1

なぜこの文が実行されていないのかわからないのですか?私はMySQL INSERT文が実行されていません

mysql_query("INSERT INTO my_pets() VALUES()", $con); 

にそれを制限するとき、それは(すべてのセルでNULL)空の行を作成し、うまく発射、しかし、すぐに私はそれをカラムと値を与えるように、それは拒否します。下記参照。

列と値が指定されているときに、この(見かけ上)正しいコードが実行されていないという間違いやその他の理由を指摘できますか?

前提:私は、我々が話すように動作文書からそれをコピーしたとして

  • $ hを、$未、$ PW、および$ DBは、すべての罰金です。
  • カラム名などの大文字/小文字の誤植はありません。

コード:PHP Documentationから得られる

<?php 

session_start(); 

$h="...";  // Host name 
$un="...";  // Mysql username 
$pw="...";  // Mysql password 
$db="...";  // Database name 

$con = mysql_connect("$h", "$un", "$pw")or die("cannot connect"); 
mysql_select_db("$db")or die("cannot select DB"); 

$name = "Pip"; 
$gender = "F"; 
$species = "Dog"; 

mysql_query("INSERT INTO my_pets (name, gender, species) VALUES ('$name', '$gender', '$species')", $con); 

mysql_close($con); 

?> 
+0

テーブル作成ステートメント? – Uueerdo

+0

テーブル構造とは何ですか? *それは何を意味しますか? (実際のエラーメッセージが良いでしょう)。 – ShiraNai7

+0

テーブルは、単に255の制限付きのvarchar値と、もちろんid-column(主キー)を必要とする行から構成されています。 – VHK

答えて

1

、あなたはPHP 7.0.0を使用している場合、mysql_queryは動作しなくなります:

この拡張機能は廃止されました を警告PHP 5.5.0ではPHP 7.0.0では削除されました。代わりに、MySQLiまたはPDO_MySQL拡張を使用する必要があります。詳細については、MySQL:APIガイドの選択と関連するFAQを参照してください。この機能の代替は、次のとおりです。 mysqli_query() PDO ::クエリ()気に誰かから

良い/重要な注意:この機能は、将来のコードに使用するべきではなく、既存のコードのために交換する必要がありますが、 PDOに変更することをお勧めします。

+0

私はこれに同意しませんが、本当にその質問に答えません。 –

+0

@ Don'tPanicもし彼がPHP 7.0.0を使用していれば、それはそれに答えるでしょう。これはおそらく理由ではないかもしれませんが、それは可能です:) – Webeng

+0

質問の冒頭で、OPは 'mysql_query'は列と値なしで動作すると言います。関数が存在しない場合はそうではありません。私はそれが将来の読者のためのケースかもしれないと思うが。 –

関連する問題