データベースのデータを表示するテーブルでは、ユーザーが領収書番号を入力してデータベースに保存するためのテキスト領域を持つフォームがあります特定の行。下記のPHPコードは、フォームの送信後にデータベースを更新するものです。 領収書が提出された$_POST['id']
を使用したので、特定の行の残りの詳細を選択します。 id
が主キーです。しかし、私はデータベースからデータを取り出すことができないので、挑戦しています。$id = $_POST['id'];
前に作成した関数update
は完全に動作しますが、SELECT STATEMENT
は機能しません。それについてどうすればいいですか?誰でも?PHPのPOST [ID]フォームからデータを取得する
if(isset($_POST['submit'])) {
$rec = $_POST['receipt'];
$id = $_POST['id'];
//reate connection
$sql = "UPDATE customer SET `receipt` = '".$_POST['receipt']."', `date_entered` = NOW(), `receipt_lock` = 1 WHERE `id` = '".$_POST['tid']."' AND receipt_lock = 0";
if ($conn->query($sql) === TRUE) {
// echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
exit();
$conn->close();
}
function wall(){
global $recp;
global $id;
// Create con
$sql = "SELECT * FROM customer WHERE id ='$id'";
$result1 = mysqli_query($conn, $sql);
$resultarr = mysqli_fetch_assoc($result1); // fetch data
$name = $resultarr['name'];
echo "$name"; //Does not display
$amount = $resultarr['amount'];
$transaction_id = $resultarr['trans_id'];
$date = $resultarr['time_paid'];
}
else {
echo "this is not right!;
}
wall();
https://www.owasp.org/index.php/SQL_Injection –
'$ rec = $ _POST ['receipt'];'を設定しているときには、 'global $ recp'もあります。とにかく、 '$ _POST'はスーパーグローバルなので、あなたの関数を含めどこにでもアクセスできます。厄介な 'グローバル'の必要はありません。 @MattSが指摘しているように、あなたはSQLインジェクションに広く関わっているという大きな問題があります。 –
echo "$ name"ではなくecho $ nameで試してください –