在 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/