0

对为什么我没有得到结果感到困惑。我没有收到错误,它会处理但没有显示结果。谁能帮我这个?

PHP

$sku= $_POST['sku'];
$sql = "SELECT sku
        FROM location_inventory
        WHERE (sku = 'sku')";
// SQLSRV Query
    $results = sqlsrv_query( $conn, $sql );
    if( $results === false) {
    die( print_r( sqlsrv_errors(), true) );
    }
echo '
            <table border=1>
            <tr>
            <th>Part Number</th>
        </tr>';
while ($row = sqlsrv_fetch_array($results))
{
    echo '
    <tr>
        <td>'.$row[1].'</td>
    </tr>';
}
echo "</table>";

    ?>

HTML

<BODY>
<form action="show.php" method="post">
    <tr>
        <td>
             <input type="text" value="Enter Part Number" name="sku" maxlength="8">
        </td>
    </tr>
    <tr>
        <td align="center" style="font-family:Calibri">
            <input type="submit"  value="Search"/>
    </tr>

4

4 回答 4

0

试试这个 :

Replace WHERE (sku = 'sku')"

With    WHERE (sku = $sku)";
于 2013-08-19T12:24:46.300 回答
0

试试这个

$sql = "SELECT sku
    FROM location_inventory
    WHERE sku = '$sku'";
于 2013-08-19T12:29:53.917 回答
0

您不会将 $sku 传递给您的选择字符串。试试这个:

$sql = "SELECT `sku` FROM `location_inventory` WHERE (`sku` = '" . $sku . "')";

还要确保转义用于数据库查询的所有输入,查看此问题以获取更多信息。

啊,我忘记了:在文件的开头使用ini_set('display_errors', 1)and来获取所有错误。error_reporting(E_ALL)

于 2013-08-19T12:39:40.943 回答
0

除了 sudhakar 所说的,您应该尝试输出 $row[0] 而不是 $row[1] 因为我猜您将只有 1 行数据(如果每个 sku 都是唯一的)。

于 2013-08-19T13:26:34.300 回答