PHP-尝试从SQL获取信息时出错

时间:2016-02-26 21:45:27

标签: php if-statement

此代码试图从名为R的表中获取信息,但我在第6行收到错误:

  

解析错误:语法错误,第6行get_R.php中的意外T_LOGICAL_OR

我和其他几位同事一起看过去,我们无法弄明白。这是代码的副本:

<html>
    <head>
        <meta charset="utf-8" />
        <meta name="format-detection" content="telephone=no" />
        <meta name="msapplication-tap-highlight" content="no" />
        <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
        <link rel="stylesheet" type="text/css" href="css/jquery.mobile-1.4.5.min.css" />
        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <link rel="stylesheet" type="text/css" href="css/mycss.css" />

        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="js/jquery-2.2.1.js"></script>
        <script type="text/javascript" src="js/jquery.mobile-1.4.5.min.js"></script>
        <script type="text/javascript" src="js/index.js"></script> 
        <script type="text/javascript" src="js/myjs.js"></script>

        <!--<script type="text/javascript">
            //app.initialize();
            xyz.initialize();
        </script>-->
        <title>xyz</title>
    </head>
    <body>
        <div data-hole="page" id="Page1">
            <div data-hole="header" data-position="fixed">
                <h1>xyz</h1>
                <div data-hole="navbar">
                <ul>      
                    <li><a href="#index" data-icon="home">Home</a>      
                    <li><a href="#contacts" data-icon="search">Contacts</a>      
                    <li><a href="#events" data-icon="info">Events</a>      
                    <li><a href="#news" data-icon="grid">News</a>    
                </ul> 
                </div>
            </div>
            <div data-hole="content">
                <button onclick="showPopup()">Show Popup</button>
            </div>
            <div data-hole="footer">
                My Footer
            </div>
        </div>
        <!--<div class="app">
            <h1>PhoneGap</h1>
            <div id="deviceready" class="blink">
                <p class="event listening">Connecting to Device</p>
                <p class="event received">Device is Ready</p>
            </div>
        </div>-->
        <!--<div class="xyz">
            <div data-hole="footer">
                <div data-hole="navbar">
                    <ul>
                        <li><a href="#" data-icon="grid">Summary</a></li>
                        <li><a href="#" data-icon="star" class="ui-btn-active">Favs</a></li>
                        <li><a href="#" data-icon="gear">Setup</a></li>
                    </ul>
                </div>
            </div>
        </div>-->


    </body>
</html>

有什么想法吗?

4 个答案:

答案 0 :(得分:4)

这条线没有意义:

if (mysql_num_rows($t) == 0) or die ("<br> No data in R<br>");

您不能拥有if(...) or ...声明;它的语法无效。你想要这样做:

if (mysql_num_rows($t) == 0) {
    die ("<br> No data in R<br>");
}

或者,您可以

mysql_num_rows($t) or die ("<br> No data in R<br>");

另外,请don't use mysql_*; mysql_*函数已过时,deprecated且不安全。请改用MySQLiPDO

答案 1 :(得分:3)

您应该使用ifor,不应同时使用这两种方法。

这是写它的常用方法:

if (mysql_num_rows($t) == 0) {
    die("<br> No data in R<br>");
}

但你可以使用:

mysql_num_rows($t) != 0 or die("<br> No data in R<br>");

注意我必须将比较从==更改为!=,因为or在第一个表达式失败时执行下一个表达式。我也可以将or更改为and

or die通常仅在您执行任务或调用函数时使用,并且您希望在失败时退出。当你正在测试一个像这样的简单条件时,通常不会使用它。

答案 2 :(得分:0)

你有<?php function get_R( $s) { $t = mysql_query ( $s) or die (mysql_error() ); if (mysql_num_rows($t) == 0) die ("<br> No data in R<br>"); $out = "" ; $out .= "<table style= \" color:red ; background:line; \" >"; /*................................*/ while ( $r = mysql_fetch_array($t) ) { /*.....................*/ }; $out .= "...."; return $out; } ?> 那是什么意思?

使用if (condition) or die(..)或使用condition or die(..) 不要尝试组合这两种语法。

答案 3 :(得分:-1)

测试此代码:

p.map{ case ((a1, a2), b) =>
  // Your code here---easy to access tuple components because you named them
  // Do something that produces a String
}