• 締切済み

DBエラーの意味

taketan_mydns_jpの回答

回答No.2

カラム数と値の数が合わない、と言う事です。簡単な英語なので覚えましょう。 カラム数が4つにもかかわらず、 "INSERT INTO tablename VALUES (1,'hoge',3)" とやった場合等に出るエラーだと思います。

関連するQ&A

  • mysqlでオートナンバーを設定した後、入力がエラーになる

    こんにちは、Mysql初心者です。 テーブルの最初にid カラムを作成し、プリマリーキー、オートナンバーで設定したのですが、データを入力しようとすると下記エラーが発生します。 最初の位置にあるので、それ以外を入力しようとidカラムを無視して、 2番目のカラムから入力するのでは駄目なのでしょうか? insert into テーブル名 values ( 2番目のカラム値,3番目のカラム値・・・); エラーは下記です。 ERROR 1136: Column count doesn't match value count at row 1 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • dateのDBデータ挿入について

    1つのフィールド(birthday)に $_POST['year'],$_POST['month'],$_POST['day'], をフォームからDBに送りたいのですが、 $sql=" INSERT INTO users( 'passwd', 'name', 'name_kana', 'seibetu', 'birthday', 'email', 'postal_code', 'xmpf', 'address1', 'address2' ) VALUES( '$passwd', '$name', '$name_kana', '$seibetu', '$year-$month-$day', '$email', '$postal_code', '$xmpf', '$address1', '$address2' )" では Column count doesn't match value count at row 1 がでしまいます 'birthday'はdeta型なので0000-00-00なるはずなのですが ・・・なぜでしょうか?

    • ベストアンサー
    • MySQL
  • #1136 - Column count doesn't match value count at row 1 の原因について

    テーブルaでtestカラムがあるにも関わらず以下のSQLを実行すると、 #1136 - Column count doesn't match value count at row 1 のエラーとなります。 UPDATE a SET test = '0' WHERE a_id = '1' AND b_id = '2' AND c_id = '3' トリガが動いていないか等、調べたのですが原因がわかりません。 考えられる原因は何があるでしょうか? ちなみに、以下のSQLでは1件のレコードが取得できます。 SELECT test FROM a WHERE a_id = '1' AND b_id = '2' AND c_id = '3'

    • ベストアンサー
    • MySQL
  • CSVファイルをインポートするときにエラーが出る。

    MySQLにCSVファイルをインポートしたいのですが、 ' for column 'hyoko' at row 14integer value: ' というメッセージが出て、インポートできません。 これはどういう意味のメッセージ(エラー?)なのでしょうか?

    • ベストアンサー
    • MySQL
  • DB_FETCHMODE_ASSOCの時、結合した二つのテーブルから同一名のカラムのレコードを連想配列で取得できないのか??

    よろしくお願いします。 $db =& DB::Connect($dsn, array()); $db->setFetchMode(DB_FETCHMODE_ASSOC); とし、 $res = $db->query("select A_t.ID, B_t.ID from A_t, B_t where A_t.NO = B_t.NO"); のようにsqlを発行した時、 while($row = $res->fetchrow()){ //..... } で、$rowに値を格納しようとしたのですが、 print $row[A_t.ID]; などとすると、 Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ']' のようなエラーが出てしまいます。 $row[ID]; では、Aテーブルから取得したレコードなのかBテーブルから取得したレコードなのか判別できないのでダメだと思います。 $db->setFetchMode(DB_FETCHMODE_ORDERD); にした場合は、$row[0]、$row[1] の添字配列を使用することによって、AテーブルのIDカラムのレコードもBテーブルのIDカラムのレコードもprintすることが出来ましたが、 $db->setFetchMode(DB_FETCHMODE_ASSOC); では、上記のように結合した両テーブルに同一名のカラム名があると、 その同じ名前を持つカラムから連想配列にデータを渡すことは出来ないのでしょうか?? どなたか詳しい方いらっしゃったらご教授くださると幸いです。 よろしくお願いしますm(_ _)m

    • ベストアンサー
    • PHP
  • エラーが出ます。myswl

    <?php $_POST['form']; $db_server = "mysql84.heteml.jp"; $db_username = "******"; $db_password = "******"; $mysql = mysql_connect($db_server, $db_username, $db_password); if ($mysql) { $table_name= "kensaku"; $mysql= ""; mysql_select_db($table_name, $mysql); mysql_set_charset("ECU"); $sql = "SELECT kai, tiiki, syoku, kei FROM kensaku" . "WHERE tiiki = '" . mysql_real_escape_string($tiiki) . "'"; $result = mysql_query($sql); if ($result) { $data_count = mysql_num_rows($result); for($i = 0; $i < $data_count; $i++) { $row = mysql_fetch_row($result); $j = 0; $data[$i]['kai'] = $row[$j++]; $data[$i]['tiiki'] = $row[$j++]; $data[$i]['syoku'] = $row[$j++]; $data[$i]['koyou'] = $row[$j++]; } mysql_free_result($result); } else { $error['top'] = "データベースのエラーです。" . mysql_error(); } mysql_close($mysql); } if (isset($error)) { echo $error['top']; } else { for($i = 0; $i < $data_count; $i++) { echo $data[$i]['kai'] . "|" . $data[$i]['tiiki'] . "|" . $data[$i]['syoku'] . "|" . $data[$i]['koyou'] . "<br />"; } } ?> 書き忘れとかあればおしえてください。

    • 締切済み
    • PHP
  • WordPress アクセス時一度だけ500エラー

    レンタルサーバーにWordPressを2つ(別ディレクトリに)インストールして利用しているのですが、そのうちの片方だけが表題のような状態になっており困っています。 具体的には、どうやらその日最初のアクセスのみ500エラーが返され、それ以降は何事もなく表示されているようなのです。(現在準備中のため、アクセスするのが設置者である私だけです) SQLiteプラグインを利用しているのでその辺りが怪しいとは思うのですが、まったく同じ構成のもう一方ではこの現象が発生しておらず、またエラーが発生する方も、この現象以外はまったく問題なく、記事の投稿などが行えている状態です。 サーバーのエラーログを頼りに調べてみたのですが、インストール時の問題が多く、同じような状況に出会うことができませんでした。 皆様のお知恵をお貸しいただければと思います。 サーバー:inetd エラーログ: WordPress database error <div style="clear:both">&nbsp;</div><div class="queries" style="clear:both; margin_bottom:2px; border: red dotted thin;">Queries made or created this session were<br/>\r \t<ol>\r \t\t<li>Raw query:\tSELECT COUNT(NULLIF(`meta_value` LIKE '%administrator%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%editor%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%author%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%contributor%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%subscriber%', FALSE)), COUNT(*) FROM wp_usermeta WHERE meta_key = 'wp_capabilities'</li>\r \t\t<li>Rewritten: SELECT COUNT(NULLIF(meta_value LIKE '%administrator%', FALSE)), COUNT(NULLIF(meta_value LIKE '%editor%', FALSE)), COUNT(NULLIF(meta_value LIKE '%author%', FALSE)), COUNT(NULLIF(meta_value LIKE '%contributor%', FALSE)), COUNT(NULLIF(meta_value LIKE '%subscriber%', FALSE)), COUNT(*) FROM wp_usermeta WHERE meta_key = 'wp_capabilities'</li>\r \t\t<li>With Placeholders: SELECT COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(*) FROM wp_usermeta WHERE meta_key = ? </li>\r \t\t<li>Prepare:\tSELECT COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(NULLIF(meta_value LIKE ? , FALSE)), COUNT(*) FROM wp_usermeta WHERE meta_key = ? </li>\r \t</ol>\r </div><div style="clear:both; margin_bottom:2px; border: red dotted thin;" class="errorMessage" style="border-bottom:dotted blue thin;">Error occurred at line 431 in Function prepareQuery. <br/> Error message was: Problem preparing the PDO SQL Statement. Error was no such column: FALSE </div><pre>#0 PDO_Engine->getErrorMessage() called at [/example.com/wp-content/pdo/db.php:170] #1 pdo_db->query(SELECT COUNT(NULLIF(`meta_value` LIKE '%administrator%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%editor%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%author%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%contributor%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%subscriber%', FALSE)), COUNT(*) FROM wp_usermeta WHERE meta_key = 'wp_capabilities') called at [/example.com/wp-includes/wp-db.php:1296] #2 wpdb->get_row(SELECT COUNT(NULLIF(`meta_value` LIKE '%administrator%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%editor%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%author%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%contributor%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%subscriber%', FALSE)), COUNT(*) FROM wp_usermeta WHERE meta_key = 'wp_capabilities', ARRAY_N) called at [/example.com/wp-includes/user.php:857] #3 count_users() called at [/example.com/wp-includes/update.php:54] #4 wp_version_check() #5 call_user_func_array(wp_version_check, Array ()) called at [/example.com/wp-includes/plugin.php:486] #6 do_action_ref_array(wp_version_check, Array ()) called at [/example.com/wp-cron.php:55] </pre> for query SELECT COUNT(NULLIF(`meta_value` LIKE '%administrator%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%editor%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%author%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%contributor%', FALSE)), COUNT(NULLIF(`meta_value` LIKE '%subscriber%', FALSE)), COUNT(*) FROM wp_usermeta WHERE meta_key = 'wp_capabilities' made by do_action_ref_array, call_user_func_array, wp_version_check, count_users, pdo_db->query, pdo_db->print_error Premature end of script headers: php5.cgi

    • 締切済み
    • PHP
  • PHPでDBの複数行更新について

    はじめまして、PHPを最近使い始めました初心者です。 [環境] PHP: 5.4.7 DB: SQLite 3.7.15.2 a  OS: Windows 7 DB上のテーブルへ複数行を挿入するソースを書いてますが 下記の文法エラーとなり行き詰っています。 [配列データとソース] Array ( [0] => Array ( [0] => 1359904500 [1] => 1359905400 [2] => 150 ) [1] => Array ( [0] => 1359990900 [1] => 1359991800 [2] => 150 ) [2] => Array ( [0] => 1360077300 [1] => 1360078200 [2] => 150 ) [3] => Array ( [0] => 1360163700 [1] => 1360164600 [2] => 150 ) 以下100件ほど続きます $sql1 = "INSERT INTO aaa (id,sstamp,estamp,data,flag) VALUES " ; $flag = 1; $count = count($time_array) ; for ( $i=1; $i< $count; $i++ ) { $sql1.= "(null,'".$time_array[$i][0]."',"."'".$time_array[$i][1]."',"."'".$time_array[$i][2]."',"."'".$flag."')," ; } $sql1 = substr($sql1, 0, -1) ; var_dump($sql1) ; $result = $db->query($sql1) ; [エラー] Warning: SQLite3::query(): Unable to prepare statement: 1, near ",": syntax error var_dumpでsql作成用変数($sql1)を見てみると問題ないように見えました。 解せないのは、変数内容をsqliteのコマンドラインへコピぺすると 正常に挿入できてしまいました。また配列を一つにしてみるとエラーなくDB挿入できました。 これよりSQL複数行挿入のvalue以下の記述が怪しいと思い、確認しましたが (aa, bb, cc), (dd, ee, ff)になっているようと思えます。 どこに問題があるかご教示をお願いいたします。

    • 締切済み
    • PHP
  • PHPでエラーが出るのですが、解決できなくて困っています。

    PHPでエラーが出るのですが、解決できなくて困っています。 エラー文は次のとおりです。 Fatal error: Call to a member function fetch() on a non-object in … エラーの出る箇所は以下の8行目です。 $db = new PDO("{$db_server}", "{$db_account}", "{$db_pass}"); $db -> query('SET NAMES ujis'); $stt = $db -> query("SELECT COUNT(*) FROM sudoku WHERE level = '{$num}'"); while ($row = $stt -> fetch()) { $start = rand(1, $row["COUNT(*)"]) - 1; } $stt = $db -> query("SELECT * FROM sudoku LIMIT '{$start}', 1"); while ($row = $stt -> fetch()) { $list = array(0 => $row["1st"], 1 => $row["2nd"], 2 => $row["3rd"], 3 => $row["4th"], 4 => $row["5th"], 5 => $row["6th"], 6 => $row["7th"], 7 => $row["8th"], 8 => $row["9th"]); $question -> dataSet($list); } $db = null; SQL文が2つありますが、最初の方は実行出来ています。 なぜか2つ目のSQL分が実行できません。 $startには値が入っていることを確認済みです。 試しに7行目と8行目の間に「print_r($stt);」と入れてみましたが、何も入っていませんでした。 「SELECT * FROM sudoku LIMIT '{$start}', 1」のSQL文自体は「'{$start}'」の部分だけ適当な数値に変えてコマンドラインで実行し、データを取り出せることは確認済みですので、SQL分の間違いではないと思います。 この中でどこが間違いかわかれば教えてください。 もしくは、他にチェックする部分はあるでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • MySQLでデータベースにデータinsert時のエラー。

    com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column '******' at row 1 とエラーがでて解決できません。どこがおかしいのでしょうか?(JAVA初心者ですいません。)

    • ベストアンサー
    • Java