私の日のように見えます。あなたが気分を良くするなら、あなたはおそらく私の仕事を(グラフィックデザイナーとして、しかし人々はプログラミングが同じではないことを忘れているように見えるように)助けてくれるだろう。フォームからの入力を変数として使用してMySQLデータベースからデータを取得する
私の以前の質問はうまく答えられ、今すぐ動作します。しかし、私はテキスト入力フィールドでこのフォームの変数SOMETHINGを設定できるようにしたいと考えています(製品の名前を入力すると、すべてのデータが表示されます)。
<html>
<body>
<form name='form' method='post' action="testdb.php">
Name: <input type="text" name="SOMETHING" id="SOMETHING"><br/>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
:
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbname = 'test';
$dbpass = '';
$dbcharset = 'utf8';
$dsn = "mysql:host=$dbhost;dbname=$dbname;charset=$dbcharset";
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
$pdo = new PDO($dsn, $dbuser, $dbpass, $opt);
$sql = 'SELECT Name, id, Variant, dim1 FROM products WHERE Name=?';
$stmt = $pdo->prepare($sql);
$stmt->execute(["SOMETHING"]);
$data = $stmt->fetchAll(PDO::FETCH_GROUP);
?>
<?php
foreach($data as $name => $products) {
echo $name .'<br>';
foreach($products as $row) {
echo $row['Variant'] .'<br>';
}
}
?>
このファイルはtestdb.phpと呼ばれ、私も、私は、入力ボックスを設定test.phpをを持っている:私は今、変数のハードコードで得たものを
私はtestdb.phpのように定義しようとしました:
$something = $_POST['SOMETHING'];
他の変数と一緒に私に空の結果を与える。何か案は?再度、感謝します!あなたが$_POST['SOMETHING']
変数を使用したい場合、あなたはあなたの要求の実行中にそれを置くことができます
変更 '$ stmt->実行([ "SOMETHING"]);' '$ stmt->(実行するために$ _POST ["SOMETHING"]); ' – Saty
' $ stmt-> execute(["SOMETHING"]); 'あなたはそのフォームの内容ではなく文字列を実行します。 POST配列から取得する必要があります: '$ stmt-> execute($ POST ['SOMETHING']);はそのトリックを行うべきです。 – Qirel