Php 查询正在工作,但运行后无法回显
是我调用的函数,$email和$p_id是正确的,我已经在数据库上运行了查询,它返回了正确的值(1或0) 我希望能够在页面上回显此项,然后根据它决定是否选中复选框。但是,当我在运行函数后尝试回显时,如下所示:Php 查询正在工作,但运行后无法回显,php,mysql,Php,Mysql,是我调用的函数,$email和$p_id是正确的,我已经在数据库上运行了查询,它返回了正确的值(1或0) 我希望能够在页面上回显此项,然后根据它决定是否选中复选框。但是,当我在运行函数后尝试回显时,如下所示: function supervisor_from_email($email, $p_id) { $email = sanitize($email); return mysql_query("SELECT pm.supervisor FROM project_members
function supervisor_from_email($email, $p_id) {
$email = sanitize($email);
return mysql_query("SELECT pm.supervisor FROM project_members AS pm JOIN users AS u ON pm.project_member_id = u.user_id WHERE u.email = $email AND pm.project_id = $p_id");
}
它不起作用?有什么想法吗?试试看
$supervisor = supervisor_from_email($email, $p_id);
echo $supervisor;
或
试一试
或
mysql\u query
返回一个资源,因此您必须通过使用mysql\u fetch\u array
获取绑定到此资源中的数据,然后您必须转到新的mysqli
库,因为旧的mysql
库将很快被弃用:)
试试这个:
$result = mysql_query("SELECT pm.supervisor FROM project_members AS pm JOIN users AS u ON pm.project_member_id = u.user_id WHERE u.email = '$email' AND pm.project_id = $p_id");
if (!$result)
{
die(mysql_error());
}
mysql_result($result,0);
告诉我结果:)
mysql\u query
返回一个资源,因此您必须获取此资源,才能使用mysql\u fetch\u数组
将数据绑定到此资源中,然后您必须转到新的mysqli
库,因为旧的mysql
库很快将被弃用:)
试试这个:
$result = mysql_query("SELECT pm.supervisor FROM project_members AS pm JOIN users AS u ON pm.project_member_id = u.user_id WHERE u.email = '$email' AND pm.project_id = $p_id");
if (!$result)
{
die(mysql_error());
}
mysql_result($result,0);
告诉我结果:)您的函数应该是这样的
function supervisor_from_email($email, $p_id)
{
$email = sanitize($email);
$email_rs = mysql_query("SELECT pm.supervisor FROM project_members AS pm JOIN users AS u ON pm.project_member_id = u.user_id WHERE u.email = '$email' AND pm.project_id = $p_id");
if(is_resource($email_rs))
{
$email_res = mysql_fetch_array($email_rs);
$email = $email_res[0];
return $email;
}
else
return "Invalid supervisor";
}
它将返回带有值的数组。请尝试此操作。您的函数应如下所示
function supervisor_from_email($email, $p_id)
{
$email = sanitize($email);
$email_rs = mysql_query("SELECT pm.supervisor FROM project_members AS pm JOIN users AS u ON pm.project_member_id = u.user_id WHERE u.email = '$email' AND pm.project_id = $p_id");
if(is_resource($email_rs))
{
$email_res = mysql_fetch_array($email_rs);
$email = $email_res[0];
return $email;
}
else
return "Invalid supervisor";
}
它将返回具有值的数组。请尝试此操作查看返回的内容。它不返回字符串。您需要使用(或类似)来获取值。$email是一个字符串,因此需要在查询中引用它。无论如何,最好使用PDO+绑定,因为mysql函数不受欢迎。查询返回1行,其值为1或0检查返回的内容。它不返回字符串。您需要使用(或类似)来获取值。$email是一个字符串,因此需要在查询中引用它。无论如何,最好使用PDO+绑定,因为mysql_uuu函数不受欢迎。查询返回1行,该行的值为1或0。因此,我得到错误mysql_fetch_assoc()希望参数1是资源,布尔值given@user2286553您的查询结果是只有一个record@user2286553首先回显查询,然后查看它显示了什么,在查询中有我的错误。通过这个,我得到了错误mysql\u fetch\u assoc()期望参数1是resource,布尔值given@user2286553您的查询结果是只有一个record@user2286553首先回显查询,然后查看它显示了什么,查询中有我的错误,我得到了错误:mysql\u fetch\u row()期望参数1是resource,boolean givensory,我不清楚,返回的唯一值是1或0,不是数组,我只希望supervisor为1或0,然后尝试将$row['email]替换为$row['supervisor'];然后告诉我发生了什么:)让我们看看这个我得到了错误:mysql_fetch_row()期望参数1是resource,boolean Givensory,我不清楚,返回的唯一值是1或0,而不是数组,我只想要1或0的supervisor,然后尝试用$row['supervisor'替换$row['email];然后告诉我发生了什么:)让我们@user2286553:这个错误意味着没有从查询返回任何资源,因此您的查询中有一个错误。我想如果您在执行查询之前尝试回显查询并告诉我结果,这样我就可以准确地获得错误位置,但我认为您需要在查询中使用字符串值:)@user2286553:然后,当您想使用mysql_查询函数并在查询中出现任何错误时停止代码时,请始终这样使用:mysql_查询($yourquery)或死亡(mysql_error())@user2286553请回答我的信息是否有用,这是否解决了您的问题,以及您是否需要进一步解释我在这里:)您好,我已经回显了它返回的查询:资源id#17@user2286553:此错误表示您的查询未返回任何资源,因此您的查询在中有错误。我认为如果您以前尝试回显查询,则执行它并告诉我结果,这样我就可以准确地得到错误的位置,但我认为您需要在查询中计算字符串值:)@user2286553:然后当您想使用mysql_查询函数时,在查询中出现任何错误时停止代码,总是这样使用:mysql_查询($yourquery)或死亡(mysql_error())@user2286553请回答我的信息是否有用,这是否解决了您的问题,以及您是否需要进一步解释我在这里:)您好,我已经回复了它返回的查询:资源id#17