php - 内部查询不起作用

时间:2016-05-10 09:18:46

标签: php mysql

我将一些数据从Android应用程序通过mysql脚本插入php数据库。

我发送了两个POST变量$eventid$phone。 我需要使用一个变量值使用内部查询从另一个表中获取一些数据。

我的php代码如下所示:

$sql = "INSERT INTO USER_EVENT
              (eventid,userid) 
        VALUES('$eventid',SELECT id FROM USER WHERE phone='".$phone."')";

if(mysqli_query($con,$sql)){
    echo 'Successfully registered';
}else{
    echo 'oops! Please try again!';
}

我的代码以else子句结尾。我不确定这里发生了什么。

1 个答案:

答案 0 :(得分:2)

您需要在圆括号中加载子查询

$sql = "INSERT INTO USER_EVENT
    (eventid,userid) 
    VALUES('$eventid', (SELECT id FROM USER WHERE phone='".$phone."'))";
//                     ^                                            ^

通常,query-command应将此作为通知/警告发布,您应该检查日志。

顺便说一下,你的代码是通过sql注入的情感,看一下预处理语句并使用参数。