Php 只执行底线

Php 只执行底线,php,mysql,Php,Mysql,只执行代码的底线。当我删除底线时,执行顶行时不会出现问题。我是否应该将这两行都写在同一个SQL变量中?如果可以,请发布语法。谢谢将两个$sql分别设置为$sql1和$sql2,然后分别执行它们 在这里,您正在重置第二条语句中$sql的then值。在执行变量中的语句之前,您实际上重新分配了变量 你有几种解决问题的方法 创建两个单独的变量:$sqlInsert和$sqlUpdate,并在不同的变量中给出不同的语句 用语句创建一个数组 第一种解决方案 $sql = "INSERT

只执行代码的底线。当我删除底线时,执行顶行时不会出现问题。我是否应该将这两行都写在同一个SQL变量中?如果可以,请发布语法。谢谢

将两个$sql分别设置为$sql1和$sql2,然后分别执行它们


在这里,您正在重置第二条语句中$sql的then值。

在执行变量中的语句之前,您实际上重新分配了变量

你有几种解决问题的方法

  • 创建两个单独的变量:$sqlInsert和$sqlUpdate,并在不同的变量中给出不同的语句

  • 用语句创建一个数组

第一种解决方案

        $sql = "INSERT INTO users (`indexno`, email, name, day) "
    . "VALUES ('$indexno', '$email', '$username', '$dday');";   
        $sql = "update countd set countd = countd + 1 where day = 'monday'";    
第二种解决方案

$sqlInsert = "INSERT INTO users (`indexno`, email, name, day) "
. "VALUES ('$indexno', '$email', '$username', '$dday');";   

$sqlUpdate = "update countd set countd = countd + 1 where day = 'monday'";    

$mysql->request($sqlInsert);
$mysql->request($sqlUpdate);

最后一件事,在sql语句中指定变量时要小心,因为您可能会遇到sql注入攻击

使用不同的名称分别创建两个$sql,然后执行您的底线


我认为没有发现任何问题。

您需要为这个问题添加更多代码。您覆盖了第二行中
$sql
的内容,假设
$sql
在这两行之后执行,它显然只执行第二行,其中当前存储在
$sql
中。您需要在两次分配之后执行
$sql
。单击复选按钮表示感谢即可接受。$sql=“插入用户(
indexno
,电子邮件,姓名,日期)”。“值('$indexno','$email','$username','$dday');”;$sql2=“update countd set countd=countd+1,其中day='monday';它以前工作过,但现在只执行顶行,请帮助
$sqlStatements = [
    "INSERT INTO users (`indexno`, email, name, day) . "VALUES ('$indexno', '$email', '$username', '$dday')",
    "update countd set countd = countd + 1 where day = 'monday'"
]

foreach($sqlStatements as $sqlStatement) {
    $mysql->request($sqlStatement);
}