php - 为什么这个简单的 MySQL 查询失败了?

标签 php mysql

我确定我遗漏了一些明显的东西,请快速查看,谢谢。问题可能出在结构中(在下面发布)。

public function addNewFile($ext) {
    $addNewFileQuery = "INSERT INTO pictures (ext) VALUES (".$ext.")";

    $result = mysqli_query($this->connection, $addNewFileQuery) or die('could not execute query in addnewfile, extension: '.$ext.' query: '. $addNewFileQuery);
    return(mysqli_insert_id($this->connection));
}

显示的错误消息是:“无法在 addnewfile 中执行查询,扩展名:gif 查询:INSERT INTO pictures (ext) VALUES (gif)”

数据库的结构:

Name    Type           Collation    Attributes  Null    Default Extra

 id     bigint(20)                              No      None    AUTO_INCREMENT (primary)

ext     varchar(6)     latin1_swedish_ci        No      None

title   varchar(100)   latin1_swedish_ci        Yes     NULL

caption varchar(200)    latin1_swedish_ci       Yes     NULL

date_uploaded timestamp                         No      CURRENT_TIMESTAMP   

最佳答案

您插入的值周围缺少单引号

$addNewFileQuery = "INSERT INTO pictures (ext) VALUES ('".$ext."')";

引用您的查询的错误消息使这一点变得显而易见

INSERT INTO pictures (ext) VALUES (gif)

你可以看到 gif 不是字符串,因为它没有引号。

关于php - 为什么这个简单的 MySQL 查询失败了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22048588/

相关文章:

php - laravel 中的 JSON 搜索 Eloquent

mysql - 通过多个不同的列过滤器汇总表

mysql - 如何从具有条件的重复日期行中仅选择一行

php - WordPress url_to_postid 不适用于非默认永久链接

php - 我可以在 php 中使用 javascript 正则表达式吗

javascript - 使用 NodeJs 在 MySql 中保存用户信息

php - 如何将PHP中数据库的多列求和为一个结果?那可能吗?

PHP/MYSQL验证

php - Laravel 辅助函数 base_path() 失败

php - 使用连接检索数据透视表和相关数据的 Eloquent 查询