简体   繁体   English

PHP上mySQL上的SQL语法错误

[英]error in SQL syntax on mySQL with php

I have a query that I have to execute and when I execute it in mySql Workbench it works fine but when I put it in together with php I get error: 我有一个必须执行的查询,当我在mySql Workbench中执行它时,它可以正常工作,但是当我将它与php放在一起时,会出现错误:

You have an error in your SQL syntax; 您的SQL语法有误;

this is the code: 这是代码:

$usr=$_POST['username'];
$link=mysqli_connect("$host", "$username", "$password","$db_name")or die("cannot connect");
if(!$link)
{
    echo 'no connection';
}
else
{
    //the query
    $query="SET @userId:=(SELECT memberId FROM members WHERE  username='$usr');
                SELECT u FROM Status WHERE members_memberId=@userId";
    $result=mysqli_query($link,$query);
    if(!$result)
    {
        $error=mysqli_error($link);
        echo 'error '.$error;
    }
    else
    {
        if($result->num_rows>0)
        {
            while($row=$result->fetch_assoc())
            {
                echo $row['u'];

            }
        }
    }

You are trying to execute multiple query using the function mysqli_query . 您正在尝试使用mysqli_query函数执行多个查询。 For executing multi-query the function is multi_query 执行多重查询的功能是multi_query

In the current context you can do with 2 queries as 在当前上下文中,您可以使用2个查询作为

$query1="SET @userId:=(SELECT memberId FROM members WHERE  username='$usr')";
$query2 = "SELECT u FROM Status WHERE members_memberId=@userId";

mysqli_query($link,$query1);
$result= mysqli_query($link,$query2);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM