0

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

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

连接数据库.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);

索引.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>
4

1 回答 1

0

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

`something`

因此,您的代码将具有以下形式:

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

它应该可以工作。

于 2013-10-05T13:20:44.030 回答