MySQL服务器版本问题

时间:2013-10-05 13:16:12

标签: php sql

我为我的网页应用构建简单的WebService,其中只包含两个php文件 connecttodatabase.php 包含mysql连接的代码, index.php 包含我的webService的代码但是我得到了sql错误:

  

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第3行“ desc,cat,price FROM itmes ”附近使用正确的语法

connecttodatabase.php

<?php
$requesturi = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$pos = strpos($requesturi, "localhost:99/self/index.php");

$hostname = "localhost";
$database = "self";
$username = "root";
$password = "";

$self = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);

的index.php

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>

        <?php 
//get data
require_once('connecttodatabase.php'); 
mysql_select_db($database, $self);

//build query
$query = 
  "SELECT 
  name, 
  desc, 
  cat, 
  price 
  FROM itmes";

$rsPackages = mysql_query($query, $self) or 
  die(mysql_error());

$arRows = array();
while ($row_rsPackages = mysql_fetch_assoc($rsPackages)) {
  array_push($arRows, $row_rsPackages);
}

header('Content-type: application/json');
echo json_encode($arRows);


?>

    </body>
</html>

1 个答案:

答案 0 :(得分:0)

这是因为你在选择中使用了命令DESC,它会抛出异常。使用特殊符号来防止这些问题:

`something`

所以你的代码会有这样的形式:

$query = 
  "SELECT 
  `name`, 
  `desc`, 
  `cat`, 
  `price` 
  FROM `itmes`";

它应该有效。