私はデータベースへの接続やデータの挿入に問題があります。私は必要な情報を収集するためにフォームを使用しています。そして、私は自分のデータベースに挿入しようとします。私は問題が何であるか分からないが、私は接続に問題があると思う。私は2つのファイルを試してこれを達成するために使用しています。どのようにPHPを使用してmysqlデータベースに挿入しますか?
addQuite.htmlファイル
<!DOCTYPE html>
<html>
<head>
<title>AddQuote</title>
<link href="styles.css" type="text/css" rel="stylesheet" />
</head>
<body>
<h2> Add a Quote <h2>
<form action="index.php" method="get">
<div>
Quote:<br>
<textarea rows="6" cols="60" name="quote" id="quote">
</textarea>
<br>
Author: <input type="text" name="author" id="author"/> <br>
<input class = "input2" type="submit" value="Save Quotation"/>
</div>
</form>
</body>
</html>
そして、これは私が私のデータベースに接続し、挿入しようとしているところである私のindex.phpファイルである
<!DOCTYPE html>
<html>
<head>
<title>Quotes</title>
<link href="styles.css" type="text/css" rel="stylesheet" />
</head>
<body>
<h1> Quotes </h1>
<form action="addQuote.html">
<input class="input1" type="submit" value="Add Quote"/>
</form>
<?php
//connet to server
$db = new PDO("mysql:host=server;dbname=quotes", "root" , "");
//check connections
if($db===false){
die("ERROR: Could not connect. ");
}
//get name and quote
$name = $_GET['author'];
$quote = $_GET['quote'];
//attemp insert query execution
$sql = "INSERT INTO quotations (name, quote, rating) VALUES
('$name', '$quote', 0)";
?>
</body>
</html>
ローカルシステムでコードを実行すると、通常はホスト名を確認するのが「localhost」です。 –
あなたの現在のコードはSQLインジェクションに脆弱です。これは、準備やエスケープによって起こらないことを確認する必要があります –