【问题标题】:Multiple WHERE condition in PHP [duplicate]PHP中的多个WHERE条件[重复]
【发布时间】:2021-03-18 05:09:45
【问题描述】:

我正在使用 php 中的 post 方法从 python 脚本中获取数据并将该数据存储在数据库中。

PHP 脚本:

<?php
if (isset($_POST['sign'])) {
    
    $sign = $_POST['sign'];
    $msg = $_POST['msg'];
    echo $sign . " " . $msg ;
    $sql1 = "INSERT INTO data1 (message, sign)
    VALUES ('$msg','$sign')";
    if ($conn->query($sql1) === TRUE) {
        echo "New record created successfully";
    }   
    else {
        echo "Error: " . $sql1 . "<br>" . $conn->error;
    }
}
else {
    echo "";
}
$sql2 = "SELECT message FROM data1 WHERE id= (SELECT max(id) FROM data1) AND sign= '".$sign."'";
$result = $conn->query($sql2);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        
            echo "message: " . $row["message"];
            $c= escapeshellcmd('python new.py'   .$row["message"] );
            echo "<br>";
       
        
            
    
        
    }
}
else {
  echo "0 results";
}

?>

数据完美地存储在数据库中,但在执行读取查询后,它给出了“未定义变量:符号”的错误 如果有人对此有任何想法,请分享谢谢。

【问题讨论】:

  • @Julien 哪个无关紧要?
  • @AlonEitan 基本上我是 PHP 新手,也许这就是为什么我没有从上面的链接得到答案

标签: php mysql where-clause


【解决方案1】:

您的代码仅在 if (isset($_POST['sign'])) 为真时定义变量 $sign(当有一个带有键 sign 的 POST 数据时),但您在第二个 SQL 查询中使用了 $sign 变量,它在外面if 声明。

$sql2 = "SELECT message FROM data1 WHERE id= (SELECT max(id) FROM data1) AND sign= '".$sign."'";`

为了修复未定义变量错误,您应该将这段代码移动到if正文内。

<?php
if (isset($_POST['sign'])) {
    
    $sign = $_POST['sign'];
    $msg = $_POST['msg'];
    echo $sign . " " . $msg ;
    $sql1 = "INSERT INTO data1 (message, sign)
    VALUES ('$msg','$sign')";
    if ($conn->query($sql1) === TRUE) {
        echo "New record created successfully";
    }   
    else {
        echo "Error: " . $sql1 . "<br>" . $conn->error;
    }

    $sql2 = "SELECT message FROM data1 WHERE id= (SELECT max(id) FROM data1) AND sign= '".$sign."'";
    $result = $conn->query($sql2);
    
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            
                echo "message: " . $row["message"];
                $c= escapeshellcmd('python new.py'   .$row["message"] );
                echo "<br>";
           
            
                
        
            
        }
    }
    else {
      echo "0 results";
    }

}
else {
    echo "";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 2012-05-19
    相关资源
    最近更新 更多