我一直在以不同的方式测试我的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>`
');
}
}
它出了什么问题?
答案 0 :(得分:2)
$resultLikeCheck = "SELECT FROM tbladminXshouts WHERE postId = $row['id'] AND admin_id ='{$_SESSION['admin_id']}'";
使用“{}”在字符串中插入变量。
答案 1 :(得分: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_ functions而不是mysql _
编辑: 我认为你的问题是你没有将变量传递给函数。 PHP中的函数有自己的局部变量,除非你发送它们,否则不能访问它们之外的变量 是的,@ Sajjad Merchant是对的,将变量插入到查询字符串中的最佳方法是使用“{}”