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('');

我建议使用 mysqli_ 函数而不是 mysql_

编辑:我认为您的问题是您没有将变量传递给函数。PHP 中的函数有自己的局部变量,除非您将它们发送进来,否则无法访问它们自身之外的变量。
是的,@Sajjad Merchant 是对的,将变量插入字符串以进行查询的最佳方法是使用“{}”

于 2013-03-21T23:19:29.207 回答