Wordpress php选择可能的语法错误

Wordpress php选择可能的语法错误,php,mysql,sql,wordpress,phpmyadmin,Php,Mysql,Sql,Wordpress,Phpmyadmin,所以,我是从这个领域的一个表格投递得到的 $OrderLNumber = $_POST['OrderLNumber']; 我用回音检查了一下,效果很好。 然后,我将我的db连接到classic: // Database Connection String $con = mysql_connect($db_hostname,$db_username,$db_password); if (!$con)

所以,我是从这个领域的一个表格投递得到的

$OrderLNumber = $_POST['OrderLNumber'];
我用回音检查了一下,效果很好。 然后,我将我的db连接到classic:

// Database Connection String
                $con = mysql_connect($db_hostname,$db_username,$db_password);
                if (!$con)
                {
                die('Could not connect: ' . mysql_error());
                }

                mysql_select_db($db_database, $con);
这是因为页面实际上正在加载。当我弄乱代码的这一面时,页面不会加载
然后我尝试从何处选择并打印结果行。我不知道我在这部分代码中犯了什么错误:

$sql = "SELECT * FROM OrderStatus WHERE OrderLineNumber = $OrderLNumber "; 
                $result = mysql_query($con,$sql); 
                if (mysql_num_rows($result) > 0) {  

                while ($row = mysql_fetch_array($result)){  
                        echo 'OrderLineNumber: ' .$row['OrderLineNumber'];  
                        echo 'Date Started: ' .$row['DateStarted'];  
                        echo 'Status: '.$row['Status'];  

                        }  

                    }
我不明白这是语法错误、服务器端错误还是逻辑错误
事先非常感谢

更新(这是否可行?


试试这段代码

<?php

    if($_POST['submit']) {

        global $wpdb;

        $OrderLNumber = $_POST['OrderLNumber'];

        $results = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}OrderStatus WHERE OrderLineNumber = $OrderLNumber");

        foreach ($results as $result)
        {
        echo $result;
        }
    }
?>


您很容易陷入SQL注入-停止使用
mysql\uUcode>,因为它已被弃用。请改用
mysqli\uu
或PDO。@Edward这是WordPress,因此WPDB是答案。警告:您将
$\u GET
数据直接放入查询中,造成了危险。永远不要这样做。相反,使用WordPress正确地转义所有数据参数。不要对WordPress代码使用
mysql\u query
,它已从PHP7中删除,因为它太危险了。任何和所有数据库交互都使用WPDB。WordPress已经知道如何连接到数据库并通过该接口运行查询。我在第一篇评论中已经链接到了文档。更近了,但是在编写查询时要非常小心,不要放入诸如
$OrderNumber
之类的内容,这会造成SQL注入问题。而是放入
,并在执行时使用绑定功能添加数据。
<?php

    if($_POST['submit']) {

        global $wpdb;

        $OrderLNumber = $_POST['OrderLNumber'];

        $results = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}OrderStatus WHERE OrderLineNumber = $OrderLNumber");

        foreach ($results as $result)
        {
        echo $result;
        }
    }
?>