0

私のスクリプトは正しいですか?私が欲しいのは、IDが存在するかどうかを確認し、存在しない場合はUPDATEしてからINSERTすることです。

$sqlCheckRow = mysql_query( "SELECT * FROM wctilerack WHERE gameID = '$up_gameID' " ) or die ( mysql_error() );
$rowCounted = mysql_num_rows( $sqlCheckRow );
if ( $rowCounted == '0' ) {
    // INSERT wctilerack
    $sqlTileINSERT = mysql_query( "INSERT INTO wctilerack VALUE('', '$up_gameID', '$up_email_player1', '$playerRack' ) ") or die ( mysql_error() );
} elseif ( $rowCounted == '1' ) {
    // INSERT wctilerack
    $sqlTileINSERT = mysql_query( "UPDATE wctilerack SET tiles = '$playerRack' WHERE gamedID = '$up_gameID'  ") or die ( mysql_error() );
}

プロセスが正しいかどうかを確認したいだけです。

ありがとうございました

4

3 に答える 3

1

このように書くことができます

INSERT INTO wctilerack VALUES ('', '$up_gameID', '$up_email_player1', '$playerRack')
  ON DUPLICATE KEY UPDATE tiles='$playerRack';
于 2012-07-15T14:58:01.303 に答える
1

このようにすることもできます

if (empty($rowCounted)) 
{
    $sqlTileINSERT = mysql_query( "INSERT INTO wctilerack VALUE('', '$up_gameID', '$up_email_player1', '$playerRack' ) ") or die ( mysql_error() );
}
else
{
    $sqlTileINSERT = mysql_query( "UPDATE wctilerack SET tiles = '$playerRack' WHERE gamedID = '$up_gameID'  ") or die ( mysql_error() );
}
于 2012-07-15T14:59:43.767 に答える
0

これを試して::

INSERT into table values (vcolumn1, vcolumn2) on duplicate key update set column1=vcolumn1, column2=volumn2
于 2012-07-15T14:58:41.227 に答える