0

フォームを作成するのはこれが初めてです。[送信]をクリックすると、テーブルにレコードが追加されません。

ここで何がわからないのですか?(私はただ答えが欲しいだけではありません!)

 <?php

 require_once 'login.php';
 $db_server = mysql_connect($db_hostname, $db_username, $db_password);

if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());

mysql_select_db($db_database, $db_server)
or die("Unable to select database: " . mysql_error());


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 competitors VALUES('$store', '$item', '$date', '$price')";

if(!mysql_query($query, $db_server))
    echo "INSERT failed: $query<br/>" .
    mysql_error() . "<br/><br/>";

} 

?>
4

1 に答える 1

1

1)PDOまたはMySQLiに切り替える必要があります。これらのルーチンは非推奨です。
2)$queryを次のように変更してみてください

$ query = "INSERT INTO競合他社VALUES('"。$store。"'、'"。$item。"'、'"。$date。"'、'"。$price。"')";

3)準備されたステートメントを読みます。このアプローチでは、インジェクション攻撃にさらされる可能性があります。

于 2012-12-28T21:34:04.917 に答える