订单错误详情:-Unknown column' 906TB_iframe'在' where子句'

时间:2015-04-15 09:40:14

标签: php mysql

给出Sql错误“Where Where子句中的未知列”

<?php 
require_once('config.php');

    $orderId=$_REQUEST['order_Id'];

    $orderValue=OrderDetail($orderId,$dbc);

    echo '<strong>Name:-</strong>'.$orderValue["order_payment_first_name"].' '.$orderValue["order_payment_last_name"].'<br>';
    echo '<strong>Address:-</strong>'.$orderValue["order_payment_address1"].'<br>'.$orderValue["order_payment_address2"].'<br>'.$orderValue["order_payment_city"].' '.$orderValue["order_payment_state"].' '.$orderValue["order_payment_country"].'<br>';
    echo '<strong>Email:-</strong>'.$orderValue["order_payment_email"].'<br>';
    echo '<strong>Ip:-</strong>'.$orderValue["ip"].'<br>';
?>

我们如何解决此问题以及如何声明选择查询?

1 个答案:

答案 0 :(得分:0)

您可以在查询之前添加:

$orderId = '\''.$orderId.'\'';

你需要在变量周围引用,否则mysql认为值$orderId而不是值。

请注意,您应该采取SQL注入的预防措施。一个简单的解决方法是:

$orderId = '\''.addslashes($orderId).'\'';

然而这还不够(见Examples of SQL Injections through addslashes()?)。如果您不知道如何自己做,请使用框架(laravel,codeigniter,zend,...)自动为您安全查询。并且不要忽略SQL注入问题;)