我遇到运行此功能的问题。当它运行时,它完全符合我的要求,除了在我的like_requests表中,request_id不是链接到变量$select
但是资源ID#22的mysql查询结果。我认为当你试图回显结果时会出现资源ID,但我没有使用echo。代码有什么问题?
function update_likes($band_requested, $new_likes, $session_user_id) {
$select = mysql_query("SELECT `primary_id` FROM `requests` WHERE
`user_requester_id` = '$session_user_id' AND `person_requested` =
'$band_requested'");
$sql_2 = "INSERT INTO `like_requests` (user_id, request_id) VALUES
('$session_user_id', '$select')";
mysql_query($sql_2);
}
$band_requested = 'rally done';
$new_likes = 239;
$the_session_user_id = 3;
update_likes($band_requested, $new_likes, $the_session_user_id);
更正正确的答案 以下是在David的帮助下纠正的代码。
function update_likes($band_requested, $new_likes, $session_user_id)
{
$select = mysql_query("SELECT `primary_id` FROM `requests` WHERE `user_requester_id` =
'$session_user_id' AND `person_requested` = '$band_requested'");
$row = mysql_fetch_row($select);
$request_id = $row[0];
$sql_2 = "INSERT INTO `like_requests` (user_id, request_id) VALUES ('$session_user_id',
'$request_id')";
mysql_query($sql_2);
}
答案 0 :(得分:1)
mysql_query返回资源(http://php.net/manual/en/function.mysql-query.php)而不仅仅是标量值。您需要使用像mysql_fetch_row()
这样的函数来获取您想要的一行,将该行分配给变量$row
,然后使用数组语法检索primary_id
,如{ {1}}。顺便说一句,显然$row['primary_id']
正在缓解,我们应该使用MySQL mysql_query
方法。