2016-12-03 7 views
0

mysqlに少し入ろうとしていますが、私が読んでいるチュートリアル(w3schools)は説明していないし、グーグルで何かを拾っているので何か説明が必要です。初心者のためのmysql構文

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

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->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 
)"; 

if ($conn->query($sql) === TRUE) { 
    echo "Table MyGuests created successfully"; 
} else { 
    echo "Error creating table: " . $conn->error; 
} 

$conn->close(); 
?> 
  • id int(6)は何を意味するのでしょうか? 6つのヌル・エントリーを持つテーブルを作成していますか?
  • varchar(30)は何をしていますか?
  • conn->query($sql)テーブルが存在するかどうかを確認するだけですか?
+2

私はw3schoolsが本当に学ぶのに最適な場所ではないことに注意する必要があります。 [PHP the Right Way](http://www.phptherightway.com/)から始め、そこから分岐します。 '=== TRUE'のテストのようにナンセンスを教えているなら、あなたはすでに対処が必要な本当に風変わりな習慣を拾っています。あなたがアプリケーション開発を学ぶことについて真剣なら、さまざまな[開発フレームワーク](http://codegeekz.com/best-php-frameworks-for-developers/)が提供しているものを見てください。 [Laravel](http://laravel.com/)は特に初心者にやさしく、非常に強力です。 – tadman

答えて

1

実際、w3が説明しています。ここではすべてのMySQLの種類は次のとおりです。あなたがそのint型(6)を見ることができます

http://www.w3schools.com/sql/sql_datatypes.asp

が整数最大6桁タイプ、とvarchar(30)、最大30文字の文字列型であることを意味します。

$ conn->クエリがテーブルを作成しています。 「クエリ」関数が何をするかの詳細については、あなたは、単にGoogleのmysqliのクエリ "することができますし、最初の結果はこのようになります。あなたが見ることができるように、戻り値は失敗した場合にFALSEをすることができ

http://php.net/manual/en/mysqli.query.php

、または真理値を返します。

失敗した場合はFALSEを返します。成功したSELECT、SHOW、DESCRIBEまたはEXPLAINクエリの場合、mysqli_query()はmysqli_resultオブジェクトを返します。他の成功したクエリの場合、mysqli_query()はTRUEを返します。

+0

$ conn-> queryはテーブルを作成しますが、$ sqlを宣言したときは必ずしも作成されません。 $ conn-> queryは、tbaleがうまく作成されたかどうかを調べるだけだと思っていました。 テーブルを作成しているページの説明を探していました。 – Spaz

+1

$ sqlは単なる文字列値を保持する変数です。これは何でもかまいませんが、この場合はMySQLのクエリです。したがって、その変数をクエリを実行するクエリ関数に渡し、エラーがあったかどうかを示す値(真偽値、TRUEまたはmysql_object)を返します。 – kasijus

+1

[公式のMySQLのドキュメント](http://dev.mysql.com/doc/refman/5.7/en/data-types.html)は、特定のサブジェクトのw3schoolsよりもはるかに優れており、最初に確認する必要があります。それはしばしばより具体的であり、コメントは付加的な説明を加えるので非常に有用である。 – tadman

0

6および30は、その変数の長さであり、int(6)は、その符号なしのvarcharからの0から2^6までの範囲をとります。持ってる。 Conn - クエリを実行するコマンドをクエリします。