0

チーム名がデータベースにない場合、無視しない場合は入力したいと思います。しかし、エコーされたステートメントだけが表示されるだけでエラーは発生しませんが、データベースには入力されません。データベースは MySQL で、テーブル名は 2012FallTeamstats です。勝利、敗北、パーセンテージ フィールドが自動インクリメントされる te​​am_id 列があります。(表の合計 4)

mysql_query("SELECT teamname FROM 2012FallTeamstats WHERE teamname = '$teamH'"); 
if (mysql_affected_rows() == 0) {
    mysql_query("INSERT INTO 2012FallTeamstats (teamname) VALUES ('$teamH')");
    echo "New: <strong>".stripslashes($teamH)."</strong> (home team) inserted into the database.<br>";
}
4

4 に答える 4

2

mysql_affected_rows の代わりに mysql_num_rows() を試してください。

このようなコード。

$result_team =  mysql_query(.........); (your code)

それから

if(mysql_num_rows($result_team) == 0)
{
//insert command
}
于 2012-04-29T03:19:07.890 に答える
0

mysql_affected_rows() は select ステートメントからのカウントを提供しないため、2 番目のステートメントはおそらく呼び出されていません。その関数は CRUD 操作専用です。これを mysql_num_rows() に置き換えてみてください

于 2012-04-29T03:17:35.690 に答える
0

印刷された SQL をカット アンド ペーストし、コマンド ラインから MySQL に入力するとどうなりますか? テーブルの余分なフィールドを SQL に追加する必要があるのではないかと思いますが、既存の SQL を実行すると、ステートメントに問題があるかどうかがわかります。

于 2012-04-29T03:16:38.227 に答える
0

とりわけ、クエリから結果が得られない:

知らせ: $result=

プラスmysql_num_rows()& quoting column&or die(mysql_error());

$result = mysql_query("SELECT `teamname` FROM `2012FallTeamstats` WHERE teamname = '$teamH'"); 
if (mysql_num_rows($result) == 0) {
    mysql_query("INSERT INTO `2012FallTeamstats` (teamname) VALUES ('$teamH')")or die(mysql_error());
    echo "New: <strong>".stripslashes($teamH)."</strong> (home team) inserted into the database.<br>";
}
于 2012-04-29T03:16:48.900 に答える