0

このコードは機能し、すべての正しい情報をデータベースに入力しますが、エラーチェックはエラーを返します。エラーチェックを削除することはできますが、後で私を悩ませるために戻ってくる悪夢を作成したり、根本的な問題を見逃したりすることを恐れています。

    $sql5a = mysql_query("SELECT id FROM categories WHERE category='$category'");
        $categoryresult = mysql_fetch_array($sql5a);
        $oldcategoryid = $categoryresult['id'];
        $sql6a = "INSERT INTO lookupcategory SET
        fbid='$fbid2',
        categoryid='$oldcategoryid'";
            if ( @mysql_query($sql5b) ) { 
                                echo('sql5b updated successfully<br>'); 
                            } else { 
                                echo('Error: sql5b not updated<br>'.mysql_error() );
                        }
                            if ( @mysql_query($sql6b) ) { 
                                echo('sql6b updated successfully<br>'); 
                            } else { 
                                echo('Error: sql6b not updated<br>'.mysql_error() );
                        }

出力は次のとおりです。「エラー:sql5bが更新されていませんSQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、1行目の「リソースID#7」の近くで使用する正しい構文を確認してください」「sql6bが正常に更新されました「」

データベースをチェックすると、すべてのエントリが正しいです。sql5aが機能しなかった場合、sql6bは機能しなかったため、エラーについて混乱しました。

サンプルカテゴリは次のようになります。Travel/Leisureカテゴリは元々フォームの応答から作成されました:$ category = htmlentities($ fbdetail ['category']、ENT_QUOTES); データベースに正常に入力されました。ID番号はAUTO_INCREMENTを使用して割り当てられました。

4

2 に答える 2

0

挿入の構文は次のとおりです。

INSERT INTO table(col1, col2 ...) VALUES(val1, val2 ...)

あなたの特定の場合:

$sql6a = "INSERT INTO table(fbid, categoryid) VALUES('{$fbid2}','{$oldcategoryid}')"
于 2012-07-13T10:08:22.563 に答える
0

query を variable に割り当てます$sql5aが、 を呼び出します@mysql_query($sql5b)$sql5b存在しません (少なくともこのサンプルでは)。と同じ$sql6a...

INSERTなしで構文を使用できますが、キーワードVALUESを省略する必要があります。INTO

$sql5a = mysql_query("SELECT id FROM categories WHERE category='$category'");
if ( $res5a = @mysql_query($sql5a) ) { // first execute query and store resource in variable
    echo('sql5a selected successfully<br>'); 
} else { 
    echo('Error: sql5a failed<br>'.mysql_error() );
}
$categoryresult = mysql_fetch_array($res5a); // fetch array passing the RESOURCE var, NOT query string
$oldcategoryid = $categoryresult['id'];
$sql6a = "INSERT lookupcategory SET
fbid='$fbid2',
categoryid='$oldcategoryid'";

if ( @mysql_query($sql6a) ) { 
    echo('sql6a inserted successfully<br>'); 
} else { 
    echo('Error: sql6a failed<br>'.mysql_error() );
}

このコードには含まれていないため、どこから取得したの$fbid2か、どこから取得したのかわかりません。$category

于 2012-07-13T10:32:53.307 に答える