当前位置: 首页 > 知识库问答 >
问题:

PHP MySql更新查询不工作,说:-未定义索引[重复]

滑令
2023-03-14

我已经按照它的教程,我想用两个php文件更新我的数据库。

<?php
while($row = mysqli_fetch_array($records))
{
    echo "<tr><form action =update.php method=post>";
    echo "<td><input type=text name=Cname value='".$row['CustomerName']."'></td>";
    echo "<td><input type=number name=size min=1 value='".$row['TableSize']."'></td>";
    echo "<td><input type=date name=Adate value='".$row['DateA']."'></td>";
    echo "<td><input type=time name=Atime value='".$row['TimeA']."'></td>";
    echo "<td><input type=tel name=phonenumber value='".$row['PhoneNumber']."'></td>";
    echo "<input type=hidden name=id value='".$row['TableID']."'>";
    echo "<td><input type=submit>";
    echo"</form></tr>";
}
?>

这是我使用的第一个php文件作为update.php:

<?php

$con = mysqli_connect('127.0.0.1','root','');

mysqli_select_db($con,'restaurant');

$sql = "UPDATE addtable SET CustomerName='$_POST[Cname]', TableSize='$_POST[size]', DateA='$_POST[Adate]',TimeA='$_POST[Atime]',PhoneNumber='$_POST[phonenumber]', WHERE TableID=$_POST[id]";

if(mysqli_query($con,$sql))
    header("refresh:1; url=AssignBooking.php");
else
    echo "Not Update";

?>

但是$sql行并不像它所说的那样工作

未定义索引:Cname和其他索引。

共有2个答案

司徒斌
2023-03-14

根据你的代码把名称属性值'单引号。

<?php
while($row = mysqli_fetch_array($records))
{
    echo "<tr><form action =update.php method=post>";
    echo "<td><input type=text name='Cname' value='".$row['CustomerName']."'></td>";
    echo "<td><input type=number name='size' min=1 value='".$row['TableSize']."'></td>";
    echo "<td><input type=date name='Adate' value='".$row['DateA']."'></td>";
    echo "<td><input type=time name='Atime' value='".$row['TimeA']."'></td>";
    echo "<td><input type=tel name='phonenumber' value='".$row['PhoneNumber']."'></td>";
    echo "<input type=hidden name="id" value='".$row['TableID']."'>";
    echo "<td><input type=submit>";
    echo"</form></tr>";
}
?>

相应地引用

UPDATE addtable SET CustomerName='".$_POST['Cname']."',TableSize='".$_POST['size']."',    DateA='".$_POST['Adate']."',TimeA='".$_POST['Atime']."',PhoneNumber='".$_POST['phonenumber']."' WHERE TableID=$_POST['id'];
洪星文
2023-03-14

将引号置于post变量之外:

$sql = "UPDATE addtable SET CustomerName='".$_POST['Cname']."', TableSize='".$_POST['size']."', DateA='".$_POST['Adate']."',TimeA='".$_POST['Atime']."',PhoneNumber='".$_POST['phonenumber']."', WHERE TableID=".$_POST['id'];
 类似资料:
  • 我试图更新一个列,我没有修改列值,你能帮我吗? 我正在尝试的代码:- 这就是我得到的错误:

  • 我被卡住了一段时间,无法弄清楚如何修复此代码

  • 我正在使用MySql工作台执行查询。 但它没有更新行,并显示以下错误: 您正在使用安全更新模式,并且试图更新一个没有使用键列禁用安全模式的WHERE的表,请在Preferences->SQL Editor中切换该选项并重新连接。

  • 问题内容: 这听起来真的很愚蠢,但我无法弄清楚为什么会收到此错误。 我创建了一个选择框,以我的html形式命名为“ query_age”: 在相应的php形式中,我有: 运行页面时,出现此错误: 注意:未定义的索引:第19行的index.php中的query_age 我不明白为什么会这样,我很想知道如何解决它。 问题答案: 我没有看到php文件,但是可能就是这样- 在您的php文件中替换: 与:

  • 我有一个自定义的帖子类型“properties”,它有一个复选框字段(字段名“property_status”),带有选项“rent:For rent”和“sale:For sale”(值:label)。我还有一个页面,我想列出所有待售的房产,所以在那里我添加了posts小部件,并给查询提供了ID“待售”。我在上查看了自定义查询文档https://developers.elementor.com/

  • 在插入数据库后,我一直在尝试重定向,但它不起作用。插入工作正常,但没有重定向。这是我的代码