0

前の質問とほぼ同じですが、mySQLi を使用してフォーム データを記録しようとしています。

送信後、データがテーブルに投稿されません。mySQLi のドキュメントといくつかの別のビデオを読んでいますが、わかりません。

前もって感謝します!

<?php

include('config.php');

if (
isset($_POST['store_id']) &&
isset($_POST['item_title']) &&
isset($_POST['date']) &&
isset($_POST['price'])
)

{

$store = get_post('store_id');
$item = get_post('item_title');
$date = get_post('date');
$price = get_post('price');


$query = "INSERT INTO ebay_data VALUES('".$store."', '".$item."', '".$date."', '".$price."')";

$input = $db_mysqli->query($query);



}

?>
4

1 に答える 1

0

もちろん、構成が実際に接続されていることを確認する必要があります。私は通常、行き詰まった場合に1ページでそれを実行します。どちらの方法でも、次のことを試してください。

$mysqli = new mysqli('localhost', 'my_user', 'my_password', my_databasename);

/* check connection */
if (mysqli_connect_errno()) {
  printf('Connect failed: %s\n', mysqli_connect_error());
  exit();
}

$query = 'INSERT INTO ebay_data VALUES($store, $item, $date, $price)';
$mysqli->query($query);

printf ('New Record has id %d.\n', $mysqli->insert_id);

/* close connection */
$mysqli->close();

ページに何かが表示されるかどうかを確認します。また、投稿の値が空でないことを再確認する必要があります。また、投稿をvarに設定すると、SQLクエリが台無しになるという奇妙な問題が発生しました。おそらく、次のことを試してください。

if (isset($_POST['store_id']) && isset($_POST['item_title']) && isset($_POST['date']) && isset($_POST['price']))

{
$query = "INSERT INTO ebay_data VALUES($_POST['store_id'], $_POST['item_title'], $_POST['date'], $_POST['price'])";
...

また、データベースとユーザーを安全に保つために、これらの投稿値を100%チェックする必要があります。プリペアドステートメントは始まりです。安全に保つためには、それ以上のものが必要です... http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

于 2012-12-30T06:32:38.653 に答える