2016-05-11 5 views
0

私はmysql/php/arduinoを積極的に学習しています。これまでのところ私はデータベースを作っています(作品)、テーブルを作った(動かない)、データを挿入しました(作品)、データを表示しました(動かない)。PHP/MYSQLでテーブルを作成/データを挿入

<?php 
    $servername="localhost"; 
    $username="YUN"; 
    $password="12345678"; 
    $dbname = "yundatabasee"; 

    $conn = mysqli_connect($servername, $username, $password, $dbname); 

    if(!$conn) { 
     die("connessione fallita" .mysqli_connect_error()); 
    } 

    $sql = "CREATE TABLE YunDati(
     id INT (6) UNSIGNED AUTO INCREMENT PRIMARY KEY, 
     yunName VARCHAR (20) NOT NULL, 
     digitalIn VARCHAR (2), 
     analogIn VARCHAR (5), 
     leggi_data TIMESTAMP 
    )"; 

    if (mysqli_query($conn, $sql)) { 
     echo "Tabella creata"; 
    } else { 
     echo "Mi dispiace tabella non e' stata creata :P" .mysqli_error($conn); 
    } 

    mysqli_close($conn); 
?> 

mi dispiace tabella non e 'stata creata。

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AUTO INCREMENT PRIMARY KEY, yunName VARCHAR (20) NOT NULL, digitalIn VARCHAR (2)' at line 2

<?php 
    $servername="localhost"; 
    $username="YUN"; 
    $password="12345678"; 
    $dbname = "yundatabasee"; 

    $conn = mysqli_connect($servername, $username, $password, $dbname); 
    if (!$conn) { 
     die("connessione fallita" .mysqli_connect_error()); 
    } 


    $sql = "SELECT id, yunName,digitalIn, analogIn, leggi_data FROM YunDati"; 
    $result = mysqli_query($conn, $sql); 

    if (mysqli_num_rows($result) > 0) { 
     while ($row = mysqli_fetch_assoc($result){ 
      echo"id : ".$row["id"]."- Nome".$row["yunName"]."-Analog In".$row["analogIn"]."<br>"; 
     } 
    } else { 
     echo "nessun risultato"; 
    } 

    mysqli_close($conn); 
?> 

Parse error: syntax error, unexpected '{' in /opt/lampp/htdocs/YUNest/Mostradati.php on line 20

+3

「AUTO_INCREMENT」は正しい入力方法です。テーブルがない場合は、データを表示しようとしてエラーが発生していると思います。 – asurbernardo

+3

あなたは欠落しています){行20の前に – Shadow

+0

"挿入されたデータ(作品)"を知っていますか? –

答えて

2

だからあなたのコードでは、次の2つのsintaxエラー、あなたのSQLの挿入に1つ、あなたのwhileループで他を持っている:

id INT (6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 

AUTO_INCREMENTは、間にアンダースコアが付属していますこのSQLfiddleと、それにチェックしてください:

while ($row = mysqli_fetch_assoc($result)){ 

あなたが開いているすべての括弧を閉じることを覚えておく必要があります。これらの変更によってコードが修正されるはずです。

php用の構文チェッカーが必要な場合は、組み込みのものがない場合はphpcodecheckerを使用します。

希望すると、これが役立ちます。

関連する問題