mysql_select在PHP中不起作用

时间:2016-06-26 10:20:25

标签: php mysql

所以我试图根据ID从名为articles的表中选择行。出于某种原因,我遇到了这个问题,我不知道为什么。确切的问题是脚本回显FATAL ERROR,这意味着我的查询无效。

我更新了脚本以回显错误,这里是:

  

您的SQL语法有错误;检查手册   对应于您的MariaDB服务器版本,以获得正确的语法   靠近''Articles'WILERE 1'在第1行

以下是代码:

$id = 1;

$query =  mysql_query("SELECT * FROM 'Articles' WHERE ID = '$id'") or die("FATAL ERROR");

我只尝试了一个简单的select语句,但它也不起作用:

$query =  mysql_query("SELECT * FROM 'Articles' WHERE 1") or die("FATAL ERROR");

非常感谢帮助,谢谢!

3 个答案:

答案 0 :(得分:3)

使用back-tics而不是引号: -

$query =  mysql_query("SELECT * FROM `Articles` WHERE `ID` = $id") or die("FATAL ERROR");

或者

$query =  mysql_query("SELECT * FROM `Articles` WHERE 1") or die("FATAL ERROR");

注意: - 开始使用mysqli_*PDO代替mysql_*,因为Mysql_*中的php 7.0函数已被删除,php 5.5已被弃用ID }}

同时检查列名id是否正确,因为通常我们使用USE [master] GO DECLARE @return_value int EXEC @return_value = [dbo].[spJobsGet] @Email = N'peter_grout@outlook.com', @Password = N'password', @JobSheetID = 0, @PropertyID = 0, @DateFrom = '2014-06-20', @DateTo = '2014-07-20' SELECT 'Return Value' = @return_value GO

答案 1 :(得分:2)

虽然你应该使用mysqli或pdo,因为从php 7删除了mysql,但是使用反引号代替单引号arround table name

 $id = 1;

 $query =  mysql_query("SELECT * FROM `Articles` WHERE ID = '$id'") or die("FATAL ERROR");

答案 2 :(得分:2)

Change 'Articles' on `Articles`

$query =  mysql_query("SELECT * FROM `Articles` WHERE `ID` = '{$id}'") or die("FATAL ERROR");

如果ArticlesID是整数,请使用此

$query =  mysql_query("SELECT * FROM `Articles` WHERE `ID` = ".$id) or die("FATAL ERROR");