Php 插入、更新、创建表、查询不在wampserver中工作
我一直在为一个php项目使用wampserver,但DML查询对我来说不起作用。下面是我一直在使用的一些测试代码Php 插入、更新、创建表、查询不在wampserver中工作,php,mysql,sql,Php,Mysql,Sql,我一直在为一个php项目使用wampserver,但DML查询对我来说不起作用。下面是我一直在使用的一些测试代码 $query='insert into register(first_name) values("swagmaster")'; echo($query); $query = mysqli_real_escape_string($connection,$query); echo"<br>$query"; if(mysqli_real_query($connectio
$query='insert into register(first_name) values("swagmaster")';
echo($query);
$query = mysqli_real_escape_string($connection,$query);
echo"<br>$query";
if(mysqli_real_query($connection,"'".$query."'")===TRUE)
{
echo"woohoo!";
}
else
{
echo"query failed";
}
echo(mysqli_error($connection));
$query='insert-into register(first_name)值(“swagmaster”);
echo($query);
$query=mysqli\u real\u escape\u字符串($connection,$query);
回显“
$query”;
if(mysqli_real_query($connection,“''.$query.”“)==TRUE)
{
回声“呜呼!”;
}
其他的
{
回显“查询失败”;
}
echo(mysqli_错误($connection));
运行此操作时,我得到以下输出:
在寄存器(名字)中插入值(“swagmaster”)插入寄存器(名字)值(\“swagmaster\”)查询失败 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“插入寄存器(名字)值(\“swagmaster\”)附近使用的正确语法 但是,select语句可以正常工作。我怀疑问题出在mysql设置中。有什么建议吗 更新: 使用您的提示组合,查询现在开始工作。谢谢大家! 请尝试此查询
$query = "INSERT INTO `register` SET `fieldname`='{$vaue}',`field2`='{$value2}'";
将查询从
$query='insert into register(first_name) values("swagmaster")';
到
正如弗雷德二世所说,你不需要在这里添加“
if(mysqli_real_query($connection,"'".$query."'")===TRUE)
改为
if(mysqli_real_query($connection,$query)===TRUE)
你曾经
$query=mysqli\u real\u escape\u字符串($connection,$query)代码>
但这在查询中避开了所有引号。这是不正确的。对于受保护的fro SQL注入,您应该只使用转义函数来查询值,而不是查询
对于您的示例,您不需要此字符串
但是如果你使用变量,那么你应该使用它
$value = "swagmaster";
$value = mysqli_real_escape_string($value);
$query='insert into register(first_name) values("' . $value . '")';
在$query中已经是正确的查询。加引号是不正确的。只用
if(mysqli\u real\u query($connection,$query)==TRUE)
然后尝试$query=“插入寄存器(名字)值('swagmaster')”代码>使用反引号。然后if(mysqli\u real\u query($connection,$query)==TRUE)
谢谢你的插件;-)很抱歉,我尝试了一些随机的东西,希望它们能起作用。我以前有上面的代码,但它不起作用。如果你想玩,那么就玩逻辑,而不是语法。谢谢你关于转义的建议,但它没有解决问题
$value = "swagmaster";
$value = mysqli_real_escape_string($value);
$query='insert into register(first_name) values("' . $value . '")';