2017-08-17 17 views
0

私のmysqlデータベースが空であり、テーブルが作成されておらず、データが書き込まれています。ありがとう!あなたはコード内でどこにもありませんmysqli_query()経由クエリを実行する必要があります私のクエリで何が間違っていますか?

$servername = "server"; 
$username = "username"; 
$password = "pass"; 
$dbname = "db name"; 
// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

// sql to create table 
$sql = "CREATE TABLE IF NOT EXISTS data (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
link text NOT NULL, 
title text NOT NULL, 
description text NOT NULL, 
internal_link text NOT NULL, 
eg_date TIMESTAMP 
)ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1"; 
$sql = "INSERT INTO data (title) 
VALUES 
('$title')"; 

mysqli_close($conn); 
+1

'$ sql =" ... "'は自動的に何もしません。つまり、クエリを実行します。 –

+0

あなたはクエリを実行しなければならない何かが発生する –

+0

あなたはちょうどクエリを書いた、それをexcuteしなかった –

答えて

1

使用この:あなたは一時ファイルにこれらのコードを使用する必要があります

$servername = "server"; 
$username = "username"; 
$password = "pass"; 
$dbname = "db name"; 
// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
}else{ 
    // sql to create table 
    $sql = "CREATE TABLE IF NOT EXISTS data (
id INT(6) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, 
link text NOT NULL, 
title text NOT NULL, 
description text NOT NULL, 
internal_link text NOT NULL, 
eg_date TIMESTAMP) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1"; 
    if(mysqli_query($conn,$sql)){ 
     $sql = "INSERT INTO data (title) VALUES ('".$title."')"; 
     mysqli_query($conn,$sql); 
    }else{ 
     echo "Error creating table: " . mysqli_error($conn)."<br/>"; 
    } 

} 
mysqli_close($conn); 

しかし注意。一度だけ使用してください!データベースにデータを置く場合は、yourpage.phpのようなPHPファイルを作成してパネルにします。その中にパネルを作成します。テーブルにデータを簡単に挿入することができます。

<?php 
$server_name=''; 
$username=''; 
$password=''; 
$db_name=''; 
$conn=mysqli_connect($server_name,$username,$password,$db_name); 
if(isset($_GET['add_record'])){ 
    if(isset($_GET['title']) && $_GET['title']!=NULL){ 
     if(isset($_GET['description']) && $_GET['description']){ 
      // TODO : for security reason I use these filters for getting strings 
      $title=mysqli_real_escape_string($conn,htmlspecialchars($_GET['title'])); 
      $des=mysqli_real_escape_string($conn,htmlspecialchars($_GET['description'])); 
      $sql="INSERT INTO data(title,description) VALUES ('".$title."','".$des."')"; 
      mysqli_query($conn,$sql); 
      header("location:yourpage.php"); 
     } 
    } 
} 
?> 
<!DOCTYPE html> 
<html> 
<head></head> 
<body> 
<form method="get"> 
    <input type="text" name="title" placeholder="title"> 
    <input type="text" name="description" placeholder="description"> 
    <input type="submit" name="add_record" value="Save it!"> 
</form> 
</body> 
</html> 
+0

ありがとうございます。しかし、どのように異なる値を追加できますか?例:$ sql = "INSERT INTOデータ(タイトル、デフュージョン)VALUES( '"。$ title。 "')"; <---?なぜ一時ファイルですか? – Marco

+0

@Marco実際には、dbに新しい値を挿入するためのパネルを作成する必要があります。そのパネルにはgetまたはpostのメソッドを持つフォームがあります。すべてのフィールドに名前があります。あなたのパネルのPHPコードの上に、あなたがポストやゲットを受け取ったら、それらの値を取ってあなたのdbに挿入してください。例えばあなたのPHPコードは$ _POST ['title']をとり、sqlでテーブルに挿入するために使用しなければなりません。 – Sonoo

+0

@Marcoすぐにこの回答にサンプルを書きます。 – Sonoo

0
<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

// Create connection using 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

// sql to create table 
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
firstname VARCHAR(30) NOT NULL, 
lastname VARCHAR(30) NOT NULL, 
email VARCHAR(50), 
reg_date TIMESTAMP 
)"; 

// for inserting the values 

if (mysqli_query($conn, $sql)) { 
echo "Table MyGuests created successfully"; 
} else { 
echo "Error creating table: " . mysqli_error($conn); 
} 

    $sql_qry="INSERT INTO data (title) VALUES ('$title')"; 


if (mysqli_query($conn, $sql_qry)) { 
echo "values added successfully"; 
} else { 
echo "data can't be added"; 
}  


mysqli_close($conn); 
?> 

これを試してみて、あなたのコードとの接続コードとすべてのもの...幸運を変更します。ここでは簡単なサンプルです。

関連する問題