2017-09-20 2 views
0

htmlページで生成された部品番号で部品のデータベースを検索し、その値をセルに出力しようとしています。
はここに私のAjaxのスクリプトと変数PHPを使用してMySQLを検索し、HTMLにある変数

がここ
var Row = document.getElementById("test2"); 
var Cells = Row.getElementsByTagName("td"); 
$myPartNumber = Cells[1].innerText; 

$.ajax({ 
type: 'POST', 
url: "http://localhost/filenamehere.php", 
data: { Part_Number : $myPartNumber }, 
dataType: 'html', 
async: true, 
success: function(data) { 
    $('#price').html(data); 
} 
}); 
} 

は私のPHPコード

$result = mysqli_query($con,"SELECT * FROM nipple_list where Part_Number='$myPartNumber' "); 

echo "<table border='1'> 
<tr> 
<th>LDS Price $</th> 
</tr>"; 

while($row = mysqli_fetch_array($result)) 
{ 
echo "<tr>"; 
echo "<td>" . $row['LDS_Price_$'] . "</td>"; 
echo "</tr>"; 
} 
echo "</table>"; 

です私はあなたのAJAXでのポストを使用しているので

Notice: Undefined variable: myPartNumber in C:\Apache24\htdocs\filenamehere.php on line 10

+0

変更 '' '' – bassxzero

+1

また、あなたが準備したクエリを使用しなければならない "PART_NUMBERは= '$ _ POST [' PART_NUMBER ']' nipple_list SELECT * FROM "する" nipple_list FROM PART_NUMBERは= '$ myPartNumber' SELECT *" 。 – bassxzero

+0

このエラーが発生しました:Parse error:予期しない ''(T_ENCAPSED_AND_WHITESPACE)、識別子(T_STRING)または変数(T_VARIABLE)または数値(T_NUM_STRING)をC:\ Apache24 \ htdocs \ filenamehere.phpの10行目に入力してください –

答えて

2

のようなエラーと警告を得続けますあなたの値はPHPスクリプトの$ _POSTグローバルにあります。

"SELECT * FROM nipple_list where Part_Number='{$_POST['Part_Number']}'"

変更

"SELECT * FROM nipple_list where Part_Number='$myPartNumber'"

また、あなたが準備したクエリを使用する必要があり、SQLインジェクションの危険にさらされています。 How can I prevent SQL injection in PHP?

+0

私はMySQL上で、ユーザー "guest"にはそのテーブルのみのSelect特権しか持たず、接続の量が制限されているということは良いことですか? –

+0

@ChasePrice一般的に、最低特権の原則は良い方針ですが、私はすべての場合にすべてを止めるつもりはないと思います。あなた自身に恩恵を与え、準備されたクエリを使用してください。あなたが最初からそれらを使い始めるのは、素早く簡単です。 – bassxzero

+0

ありがとう、本当にありがとう! –

関連する問題