php mysql不打印标点符号显示语法错误

时间:2016-11-28 10:28:20

标签: php mysql

我尝试使用以下代码:

$sql = "delete * from MyGuests";

这显示错误:错误:从MyGuests中删除* 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'* from MyGuests'附近使用正确的语法。 类似地,具有>,!,'作为代码的一部分从该特殊字符开始显示相同的语法错误。 这是整个代码。

$servername = "localhost";
$username = "root";
$password = "";
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// Create database
$db_selected = mysqli_select_db($conn,'my_db');
$sql = "delete * from MyGuests";

if (mysqli_query($conn, $sql)) {
echo "Table truncated";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);

我尝试使用

$sql="truncate table MyGuests";

if (mysqli_query($conn, $sql)) {
echo "Table truncated";
} else {...}

阻止显示“表截断”,但是当我显示表格时,所有数据都显示为已保留并显示。如何在没有语法错误的情况下截断和传递标点符号/特殊字符该怎么办。

4 个答案:

答案 0 :(得分:1)

DELETE FROM MyGuests WHERE 1 或者干脆 DELETE FROM MyGuests

这就是你编写删除查询的方式.. :))

答案 1 :(得分:0)

DELETE语法没有星号

例如:

DELETE FROM MyGuests

可以通过一些示例

阅读here的用法

答案 2 :(得分:0)

如果要将特殊字符传递给数据库,则需要使用预准备语句。有关更多详细信息,请参阅PHP手册http://php.net/manual/en/mysqli.prepare.php

答案 3 :(得分:0)

删除DTColumnDefBuilder.newColumnDef(0). .withOption('type', 'Antt-date') 。来自删除查询。

对于特殊字符使用php addslashes() Quote string with slashes函数。