首页 > 解决方案 > SQL Query 在 phpmyadmin 中运行良好,但 php 代码存在 T_Variable 问题

问题描述

我的内部 Join sql 查询在我的 phpmyadmin 中运行。但不是 PHP 代码。

我有两张桌子。我想在表 1(注册)值得到更新时更新表 2(opd)值。我找到了内部连接。### 在 PHPMYADMIN 中运行良好 ###

UPDATE opd INNER JOIN registeration ON opd.customerid = registeration.id SET opd.T_date = registeration.T_date,
opd.First_Name = registeration.First_Name,
opd.Last_Name = registeration.Last_Name,
opd.Address = registeration.Address,
opd.Pin_Code = registeration.Pin_Code,
opd.email = registeration.email,
opd.Doctor = registeration.Doctor,
opd.Posted_By = registeration.Posted_By

对应的php代码是

<?php
include_once("config.php")
$sql= mysqli_query($conn,"UPDATE opd INNER JOIN registeration ON opd.customerid = registeration.id SET opd.T_date = registeration.T_date,\n"
. " opd.First_Name = registeration.First_Name,\n"
. " opd.Last_Name = registeration.Last_Name,\n"
. " opd.Address = registeration.Address,\n"
. " opd.Pin_Code = registeration.Pin_Code,\n"
. " opd.email = registeration.email,\n"
. " opd.Doctor = registeration.Doctor,\n"
. " opd.Posted_By = registeration.Posted_By");
$result=mysqli_query($conn,$sql);
header("Location:index.php");
?>

我收到此错误。( ! ) 解析错误:语法错误,第 3 行 C:\wamp64\www\sonu\updateopd.php 中的意外 '$sql' (T_VARIABLE)。

什么是错误或正确的代码。

标签: phpmysql

解决方案


您正在分配一个变量调用$sql函数调用的输出mysqli_query($conn,"UPDATE opd INNER....");

这将返回一个TRUEFALSE(基于查询是否执行) - https://www.php.net/manual/en/mysqli.query.php

然后稍后在代码中,您将mysqli_query再次针对这样的布尔值运行:

$result=mysqli_query($conn,$sql);

这永远行不通。

如果您的目标是执行 SQL 查询,然后重定向不同的页面,那么试试这个:

<?php

include_once("config.php")

mysqli_query(
    $conn,
    "
        UPDATE opd INNER JOIN registeration ON opd.customerid = registeration.id SET opd.T_date = registeration.T_date,
        opd.First_Name = registeration.First_Name,
        opd.Last_Name = registeration.Last_Name,
        opd.Address = registeration.Address,
        opd.Pin_Code = registeration.Pin_Code,
        opd.email = registeration.email,
        opd.Doctor = registeration.Doctor,
        opd.Posted_By = registeration.Posted_By
    "
);

header("Location:index.php");

?>

仅供参考 - 这是质量差的代码;您没有测试 sql 查询是否实际执行没有错误(即错误处理)。


推荐阅读