php - 从教程中复制 PHP 代码会在我的计算机上显示通知

标签 php

我有一个基于 this tutorial 的电子商务网站.

现在,在 cart.php 页面中,每当有人更新数量并继续单击 Update Cart 按钮时,他们都会收到以下通知:

Notice: Array to string conversion in /home/aquadual/public_html/fiverrproject/plaincart/library/config.php on line 51

Notice: Array to string conversion in /home/aquadual/public_html/fiverrproject/plaincart/library/config.php on line 51

Notice: Array to string conversion in /home/aquadual/public_html/fiverrproject/plaincart/library/config.php on line 51
Unknown column 'A' in 'where clause'

以下是影响此通知的 config.php 文件中的代码:

if (!get_magic_quotes_gpc()) {
    if (isset($_POST)) {
        foreach ($_POST as $key => $value) {
            **$_POST[$key] =  trim(addslashes($value));**
        }
    }

    if (isset($_GET)) {
        foreach ($_GET as $key => $value) {
            $_GET[$key] = trim(addslashes($value));
        }
    }   
}

实际行是整个配置文件中的第 51 行:

$_POST[$key] =  trim(addslashes($value));

最佳答案

这个错误其实有两个问题。

第一部分是假设您的 $_POST 数组中的每个值都是一个字符串(假设您使用了 trim()addslashes() )。这不一定是这种情况——该数组中的值也可以是一个数组。这些通知告诉您,您尝试三次将数组视为字符串。但是,这些是非致命通知,不应直接导致您的页面崩溃。

第二个错误是最后一行,它可能与前三个错误行无关(尽管它可能间接相关...0_0)。这个错误是某处的SQL查询错误,导致 fatal error ,导致PHP代码停止执行。看起来您正在尝试根据您正在查询的表中不存在的列来限制 SELECT 或 UPDATE 语句。您应该检查您的 SQL 代码以确保它工作正常。这可能不在第 51 行附近。

关于php - 从教程中复制 PHP 代码会在我的计算机上显示通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3983329/

相关文章:

php - 从 docker 容器到外部服务器的 SSH 连接以读取 MySQL 数据库(从 docker 查询)

php - 正则表达式 : negative assertion

php - 添加 select 语句时 mysqli_commit 失败

php - 通过 xampp 中的 php 脚本运行 mysqldump 命令,但 .sql 为空

php - CODEIGNITER 未定义索引

php - jQuery Ajax - $sql 是一个对象错误

php - 允许用户在 PHP 中投票一次

php - 调用未定义函数 password_hash()

php - 无法在 <item> 标记的 rss feed 中添加链接或图像

php - 如何在 Laravel 5.5 中扩展供应商包服务提供者