php - 为什么我的 SQL 插入语句无法通过我的 php 脚本执行?

标签 php mysql sql syntax syntax-error

在 php 脚本中,我尝试了几种不同的方式插入语句:

$query = "INSERT INTO table (charfield,charfield,intfield,decimalfield) VALUES ('$stringvar','$stringvar',$intvar,$decimalvar)";
$query = "INSERT INTO table (charfield,charfield,intfield,decimalfield) VALUES ('".$stringvar."','".$stringvar."',".$intvar.",".$decimalvar.")";
$query = 'INSERT INTO table (charfield,charfield,intfield,decimalfield) VALUES ("'.$stringvar.'","'.$stringvar.'",'.$intvar.','.$decimalvar.')';
$query = 'INSERT INTO table (charfield,charfield,intfield,decimalfield) VALUES ("'.$stringvar.'","'.$stringvar.'","'.$intvar.'","'.$decimalvar.'")';

我也使用这些方法的组合来执行几种不同的方法:

mysql_real_escape_string($query);
mysql_query($query);
$result = @mysql_query($query);

我已经回显了正在连接的语句,它看起来不错。即使我将其复制并粘贴到 phpmyadmin sql 编辑器中,它也可以正常执行。数据库为MySQL,用户有正确的权限。

我做错了什么?


编辑:

使用or die时出现错误消息:

Access denied for user 'schaffins'@'localhost' (using password: NO)

我添加了一个具有选择、插入和更新权限的用户,并且在执行任何操作之前我在 php 中使用该用户进行连接。

此外,我还可以插入到我在同一脚本中创建的另一个表中。

最佳答案

这个问题与您的插入无关 - 错误是连接到数据库,所以它甚至没有达到运行插入语句的程度。

仔细检查您传递到 mysql_connect() 的凭据...从错误消息“用户'schaffins'@'localhost'访问被拒绝(使用密码:NO)”来看,问题似乎出在您的密码上。

关于php - 为什么我的 SQL 插入语句无法通过我的 php 脚本执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10577072/

相关文章:

mysql - 不同类型产品的数据库

sql - 使用一列中的最高总和值作为过滤器来按 PostgreSQL 中的另一列进行分组

php - 我找不到我的错误; Ajax 请求返回空

php - 这个php脚本有什么问题?

php - 如何在 PHP 中将 hmacsha1 key 设置为十六进制?

php - MySQL INSERT SELECT - 重复行

mysql - 创建哈希的 SQL 语法

sql - 列出类别/子类别树并在同一行显示其子类别

mysql - 即使在相关表中找不到相关记录,也可以从一个表中检索所有记录

php - 我们可以检测是否安装了根 CA 证书吗?