1

SQL ステートメントをさまざまな方法でテストしてきましたが、うまくいきません。SQL ステートメントに変数とセッションを書き込むのに問題があります。

function onelike()
{
    $_SESSION['admin_id']
    $resultLikeCheck = "SELECT FROM tbladminXshouts WHERE postId = $row['id'] AND admin_id = $_SESSION['admin_id']"; 
    $results = mysql_query($resultLikeCheck) or die('');

    if(mysql_num_rows($results) == 0) 
    {
        echo ('

                 `<form action="" method="POST"> 
                       <input type="hidden" name="id" value="'.$row['id'].'"/>
                       <input type = "submit" name="Gilla" value = "Gilla"/> 
                  </form>`

              ');
    }
}

それの何が問題なのですか?

4

2 に答える 2

2
$resultLikeCheck = "SELECT FROM tbladminXshouts WHERE postId = $row['id'] AND admin_id ='{$_SESSION['admin_id']}'";

文字列内の変数を補間するための「{}」の使用。

于 2013-03-21T23:19:27.527 に答える
0

あなたはこれを試すことができます。

$adminID= $_SESSION['admin_id'];
$rowID= $row['id'];
onelike($adminID,$rowID);

    function onelike($adminID,$rowID)
    {


    $resultLikeCheck = "SELECT * FROM tbladminXshouts WHERE postId = '{$rowID}' AND admin_id = '{$adminID}'";

    $results = mysql_query($resultLikeCheck) or die('');

そして、mysql_の代わりにmysqli_関数を使用することをお勧めします

編集:あなたの問題は、変数を関数に渡していないことだと思います。PHPの関数には独自のローカル変数があり、送信しない限り変数にアクセスすることはできません。
そうです、@ Sajjad Merchantは正しいです。クエリ用に変数を文字列に補間する最良の方法は、「{}」を使用することです。

于 2013-03-21T23:19:29.207 に答える