2017-10-25 9 views
-4

編集:この質問が重複していないが、すでにタイトルは自明ですが、私はもっと何かを追加したいなぜPHPコード上では動作しませんが、イエスのphpMyAdminに

を検索しました、私はSQLエラーを出力するようにPHPに指示するとき、それは何も表示されず、テーブルはまだ作成されていません。

全コードhere

は私がmysqli_error($ CONN)

 
$sql = "CREATE TABLE IF NOT EXISTS 'users' (
      id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
      name VARCHAR(255), 
      email VARCHAR(255), 
      pass VARCHAR(255) 
      );"; 

     if (!$conn->query($sql)) { 
      echo $conn->connect_error; 
     } 
     else { 
      echo "The table 'users' has been created because there was none"; 
     } 

をない場合でも、今では私は$ conn-> connect_errorを変更し、動作しますが、すべてのエラーを表示しません。 mysqli_error($ conn)によって、私には「データベースが選択されていません」というエラーが表示されますが、完全なコードが表示されている場合は既に選択済みですhere

+1

あなたのテーブルはシングルクォートではなくバッククォートで囲む必要があります。あなたは正しいエラーを取得していないので、クエリエラーではなく、connect_errorをエコーし​​ています。 – aynber

+0

おそらく、接続に使用しているデータベースのユーザーは作成権限がありません。 phpmyadminのチェック特権で –

+0

バッククォートはMySQL @aynberではオプションです。テーブルにMySQLキーワードを使用する必要がある場合にのみバックスティックが必要です –

答えて

0

コードを変更したい場合は、 mysqlの正しい構文ではありません

CREATE TABLE IF NOT EXISTS `users` (
      id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
      name VARCHAR(255), 
      email VARCHAR(255), 
      pass VARCHAR(255) 
      ); 
+0

にないか、完全に削除します。 ''はあなたに構文エラー –

+0

を与えるでしょう同じ、まだ動作しませんが、私はphpmyadmin上でsqlコード自体を実行し、それは動作します –

+0

http://sqlfiddle.com/#!9/69c4cそれはここでうまく動作しますが、あなたの看板に間違いがあります。 –

関連する問題