像Query这样的MySQL在PHP中失败了

时间:2014-05-30 06:04:45

标签: php html json html-parsing

   $result = mysql_query("SELECT * FROM MasjidMaster WHERE MasjidName LIKE ('%moh%')") or die mysql_error();

我得到的错误是

Parse error: syntax error, unexpected T_STRING in /home/maximtec/public_html/masjid_folder/MasjidFinderScripts/find_by_name.php on line 24

当我在MySQL中使用它时,此查询确实有效,但当我将它放在PHP脚本中时它不会 请提出解决方案

------------编辑:从收到的答案中更改查询后-------------------------- -----------

我更新了我的查询,但现在我得到了空结果

{"masjids":[{"MasjidName":null,"Address":null,"Latitude":null,"Longitude":null}],"success":1,"masjid":[]}

以下是我的完整脚本:

<?php

    /*
     * Following code will get single product details
     * A product is identified by product id (pid)
     */

    // array for JSON response
    $response = array();


    // include db connect class
    //require_once __DIR__ . '/db_connect.php';
    require_once dirname(__FILE__ ). '/db_connect.php';;

    // connecting to db
    $db = new DB_CONNECT();

    // check for post data
    if (isset($_GET["MasjidName"])) {
        $MasjidName = $_GET['MasjidName'];


        // get a product from products table
        $result = mysql_query("SELECT * FROM `MasjidMaster` WHERE `MasjidName` LIKE '%moh%'") or die(mysql_error());

        $response["masjids"] = array();

        if (!empty($result)) {
            // check for empty result
            if (mysql_num_rows($result) > 0) {


                while ($row = mysql_fetch_array($result)) {

                $row = mysql_fetch_array($result);

                $masjid = array();
                $masjid["MasjidName"] = $row["MasjidName"];
                $masjid["Address"] = $row["Address"];
                $masjid["Latitude"] = $row["Latitude"];
                $masjid["Longitude"] = $row["Longitude"];

                // success
                $response["success"] = 1;

                // user node
                $response["masjid"] = array();
                array_push($response["masjids"], $masjid);

    //            array_push($response["masjid"], $masjid);
                }
                // echoing JSON response
                echo json_encode($response);
            } else {
                // no product found
                $response["success"] = 0;
                $response["message"] = "No product found";

                // echo no users JSON
                echo json_encode($response);
            }
        } else {
            // no product found
            $response["success"] = 0;
            $response["message"] = "No product found";

            // echo no users JSON
            echo json_encode($response);
        }
    } else {
        // required field is missing
        $response["success"] = 0;
        $response["message"] = "Required field(s) is missing";

        // echoing JSON response
        echo json_encode($response);
    }
    ?>

3 个答案:

答案 0 :(得分:0)

试试这个 -

 $result = mysql_query("SELECT * FROM MasjidMaster WHERE MasjidName LIKE ('%moh%')") or die(mysql_error());

你忘了parentheses with die(mysql_error())

答案 1 :(得分:0)

试试这个:

  $result = mysql_query("SELECT * FROM MasjidMaster WHERE MasjidName LIKE '%moh%' ") or die(mysql_error());

像这样使用die() die(mysql_error())

答案 2 :(得分:0)

$result = mysql_query("SELECT * FROM `MasjidMaster` WHERE `MasjidName` LIKE '%moh%'") or die(mysql_error());

进一步调整,以便在``。

中包装表名和表列

你也不应该()(&#39;%moh%&#39;)