我仍然是PHP的新手(昨天刚开始),当我想删除我的数据时,它说:
注意:未定义的索引:第13行C:\wamp64\www\HelpingClass\delete.php中的书名
注意:未定义的索引:C中的数量:##################################################################################################################################################
这是我第13、14、15行的代码
$bookname = $_POST['bookname'];
$quantity = $_POST['quantity'];
$price = $_POST['price'];
我甚至试着把13,14,15行改成这个
if(isset($_POST['bookname']) && isset($_POST['bookname'])){
echo $_POST['bookname'];
}
if(isset($_POST['quantity']) && isset($_POST['quantity'])){
echo $_POST['quantity'];
}
if(isset($_POST['price']) && isset($_POST['price'])){
echo $_POST['price'];}
通知未定义的索引不见了,但我仍然不能删除数据:(
这是我的完整代码delete.php
<?php
include ('connection.php');
session_start();
if (!isset($_SESSION ['userid'])&& empty($_SESSION['userid'])){
header ("location:login.php");
exit;
}
else {
$userid = $_SESSION ['userid'];
}
$bookid = $_GET['bookid'];
$bookname = $_POST['bookname'];
$quantity = $_POST['quantity'];
$price = $_POST['price'];
$query = mysqli_query ($conn, "DELETE FROM book SET WHERE Book_Id='$bookid';");
if ($query == TRUE)
{
echo "<script language='javascript'>";
echo "alert('Deleted.');";
echo "window.location.href='action.php';";
echo "</script>";
}
else
{
echo "<script language='javascript'>";
echo "alert('Delete Failed.');";
//echo "window.location.href='action.php';";
echo "</script>";
}
?>
我真的很感激你的帮助
代码中有很多问题。
参数化版本的示例可以是:
// prepare the query statement
$stmt = $mysqli_prepare($conn, "DELETE FROM book
WHERE Book_Id = ?");
// bind the parameters
$stmt->bind_param("i", $bookid);
// execute the query
$stmt->execute();
//fetching result would go here (in case of SELECT queries)
$stmt->close();
isset
函数。您可以在旁边使用三元运算符。如:
$bookid = isset($_GET['bookid']) ? $_GET['bookid'] : 0;
$bookname = isset($_POST['bookname']) ? $_POST['bookname'] : '';
$quantity = isset($_POST['quantity']) ? $_POST['quantity'] : 0;
$price = isset($_POST['price']) ? $_POST['price'] : 0;
DELETE
查询语句语法错误。不能使用*
和设置。另外,在$bookid
上执行(int)
类型转换(假设此处为整数)。使用mysqli\u query
函数时,查询字符串中也不需要分号(;
)
其内容应如下:
$query = mysqli_query ($conn, "DELETE FROM book
WHERE Book_Id = '" . (int)$bookid . "'");
从MySQL文档中,
DELETE
语句的语法如下:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[PARTITION (partition_name [, partition_name] ...)]
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
问题内容: 这听起来真的很愚蠢,但我无法弄清楚为什么会收到此错误。 我创建了一个选择框,以我的html形式命名为“ query_age”: 在相应的php形式中,我有: 运行页面时,出现此错误: 注意:未定义的索引:第19行的index.php中的query_age 我不明白为什么会这样,我很想知道如何解决它。 问题答案: 我没有看到php文件,但是可能就是这样- 在您的php文件中替换: 与:
我被卡住了一段时间,无法弄清楚如何修复此代码
问题内容: 当我尝试在其他PHP服务器上运行脚本时,出现了一个新问题。 在我的旧服务器上,即使未声明任何参数,以下代码也可以正常工作。 但是现在,在本地计算机(XAMPP-Apache)上的本地服务器上,如果未定义for的值,则会出现以下错误。 如果为声明了值,但脚本要调用某些javascript函数会发生什么,但是如果未声明任何内容,我希望页面能够正常加载。 你能帮助我吗? 问题答案: 错误报告
问题内容: 我是PHP的新手,并且在会话方面更是初学者。我有index.php页面,用户可以在其中注册和登录。表单分别发布到validate.php和loginvalidate.php页面,以进行注册和登录。 加载时在index.php上出现以下错误: 1)注意:未定义的索引:已注册2)注意:未定义的索引:从未使用 我已经尝试过多种方式来修改我的文字,但是我从来没有解决错误。 Index.php
我已经检查了register_argc_argv是否在我的php.ini文件中打开,我正在使用PHP-CLI。 这是我得到的错误消息: PHP致命错误:未捕获异常“ErrorException”,消息为“Undefined index:argv”phar:///var/www/html/composer.phar/vendor/symfony/console/Symfony/Component/C
我得到未定义的索引错误。我在同一个网站上看到了一个类似类型的问题。我无法修复这个错误,有人能帮助我吗