Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 奇怪的sql错误_Php_Sql_Phpmyadmin - Fatal编程技术网

Php 奇怪的sql错误

Php 奇怪的sql错误,php,sql,phpmyadmin,Php,Sql,Phpmyadmin,我有以下代码: <!--ajouter une carte --> <?php if($_POST["submit_dd"]){ mysql_query("INSERT INTO data SET desc='".$_POST["carte_nom"]."' ") or die(mysql_error()); } ?> <b>Ajouter une carte:</b><br> <form method

我有以下代码:

<!--ajouter une carte     -->
<?php
if($_POST["submit_dd"]){

    mysql_query("INSERT INTO data SET desc='".$_POST["carte_nom"]."' ") or die(mysql_error());



 }
?>

<b>Ajouter une carte:</b><br>
<form method="post">
<table>
<tr><td>nom</td><td><textarea name="carte_nom"/></textarea></td></tr>
<tr><td></td><td><input type="submit" name="submit_dd" value="Ajouter"/></td></tr>
</table>
</form>
数据库非常简单:id(主,自动递增),desc(文本)


关于

我可能错了,但您可能会得到一个错误,因为
desc
是一个sql关键字。尝试将它包装在后面的勾号'desc`

我可能错了,但您可能会得到一个错误,因为
desc
是一个sql关键字。尝试将其包装在后面的记号中,`desc`

desc
是保留关键字。使用
“desc”
代替
desc
是保留关键字。使用
“desc”
代替“desc”就是其中之一

mysql_query("INSERT INTO data (desc) VALUES('".$_POST["carte_nom"].")' ")
以下内容在MySQL中有效:

INSERT INTO data SET `desc` = 'post data';
不过你应该重新考虑你的剧本。将字段命名为与保留关键字相同是一个坏迹象。在使用$u POST数据之前缺乏卫生设施也是如此

以下是为什么
desc
是一个丑陋的字段名:

SELECT id, desc
FROM data
ORDER BY id desc;  #this is valid sql, but likely isn't going to do what you expect
看起来很像

SELECT id, desc
FROM data
ORDER BY id, desc;   #not valid sql
强制注入读数:

“DESC”就是其中之一

以下内容在MySQL中有效:

INSERT INTO data SET `desc` = 'post data';
不过你应该重新考虑你的剧本。将字段命名为与保留关键字相同是一个坏迹象。在使用$u POST数据之前缺乏卫生设施也是如此

以下是为什么
desc
是一个丑陋的字段名:

SELECT id, desc
FROM data
ORDER BY id desc;  #this is valid sql, but likely isn't going to do what you expect
看起来很像

SELECT id, desc
FROM data
ORDER BY id, desc;   #not valid sql

强制性的注入读取:

等待关于SQL注入HMMM的注释。。。看起来您可能有sql注入问题;)尝试使用准备好的语句和占位符。等待有关SQL injectionhmmm的注释。。。看起来您可能有sql注入问题;)尝试使用准备好的语句和占位符。是的,我只是编辑我的答案来建议占位符和准备好的陈述,但我只是发表评论。是的,我只是编辑我的答案来建议占位符和准备好的陈述,但我只是发表评论。