0

ユーザーがレシピのリンクをクリックすると、次のページにデータ (完全なレシピ) が表示されるレシピ ページに取り組んでいますが、動作しないようです。ページを実行しようとすると、「'where 句の列 'locals_id' が不明です」というエラーが表示されます。これまでの私のコードは次のとおりです。

?php 
    //connection variables
        $hostname = 'hostname';
        $username = 'username';
        $password = '********';
        $database = 'database';  

        //connect to the server
        $dbc = mysql_connect($hostname, $username, $password) or die("Unable to connect to mySQL server");

        //connect to the database
        mysql_select_db($database) or die("Unable to select database");


        $recipe_link = "-1";
        if (isset($_GET['locals_id'])) {
          $recipe_link = $_GET['locals_id'];
        }

        $query_recipeDetails = sprintf("SELECT * FROM recipe WHERE locals_id = %s", GetSQLValueString($recipe_link, "int"));
        $result = mysql_query($query_recipeDetails, $dbc) or die(mysql_error());
        $row_recipeDetails = mysql_fetch_assoc($result);



?>

私はPHPに関してはかなり新しいので、これで本当に髪の毛を引き裂いています。私に似た他の問題をいくつか調べましたが、それらも役に立たなかったようです。これについての助けをいただければ幸いです

4

4 に答える 4

1

クエリとコードは正しいようです。

列名を注意深く確認してください。typo間違いがあるか、を確認してくださいcase sensitivitylocals_id かもしれないlocal_id

于 2012-04-08T12:22:12.443 に答える
0

mysqlコンソールから実行します。

SHOWCREATETABLEレシピ;

または実行

レシピからフィールドを表示します。

そして、あなたは列の正しい名前を見つけるでしょう。とにかく、MySQLの列名では大文字と小文字が区別されないため、スクリプトにタイプミスがある可能性があります。

于 2012-04-08T15:15:22.797 に答える
0

列名がデータベーステーブルの「locals_id」に類似しており、大文字と小文字が区別されることを確認してください。そうでない場合は、クエリでこの記号`の間に列名を指定してください。

例えば。、

`locals_id`
于 2012-04-08T12:20:35.987 に答える
0

みんな助けてくれてありがとう!私はそれを考え出した。それは確かに locals_id が列名ではないことに関係していました。正しい名前は、recipe_id でした。見ないのはおかしいと思います。

于 2012-04-09T23:08:02.237 に答える