MySQL5.1+phpMyAdmin2.10.1でWHERE検索できません

このQ&Aのポイント
  • MySQL5.1+phpMyAdmin2.10.1でWHERE検索ができない問題が発生しています。
  • 質問文章によると、単純なクエリーであるにもかかわらず、WHERE条件に合致する結果が得られません。
  • 使用中のMySQLのバージョンは5.1.17-betaですが、phpMyAdminの検索結果も空となっています。
回答を見る
  • ベストアンサー

MySQL5.1+phpMyAdmin2.10.1でWHERE検索できません

タイトルの環境で以下のようなテーブル(movie)をつくっています。 title(varchar) | category(varchar) ------------------------------------- starwars | fiction sound of music | musical $sql = "SELECT * FROM movie WHERE category='musical';"; 上記のような単純なクエリーなのですが、ヒットしません。 phpMyAdminの「検索」でも結果は「返り値が空でした(行数0) 」と表示されます。 使用中のMySQLのバージョンは正確には5.1.17-betaです。 途方に暮れております。よろしくお願いいたします。

  • MySQL
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

SELECT * FROM movie WHERE category LIKE '%musical%' とやってみて、表示されるようであれば、前後にごみがついている可能性があります。 表示されなければ、varcharの値が小さくて'musical'という値が登録 されていないかも。たとえば'music'で切れてたり・・・

pochichi
質問者

お礼

早速のご回答ありがとうございました。 yambejp様の推測に極めて近い初歩的なミスがありました。 データの末尾に改行コードが入っていました^^; これを修正したところ無事データ取得できました。 お騒がせいたしました

関連するQ&A

  • mysql のテーブルの名前は数字ではだめですか

    phpmyadmin で数字名前のテーブル上手く作りましたが。。なぜかmysqlで $query = "CREATE TABLE 2234( id int AUTO_INCREMENT key, 入力日 VARCHAR(10 ) $squery1 = mysql_query($query); (create table "2234"( ...)もcreat table '2234'(..)もだめ) なぜかエラーが出ました?

  • MySQLで、INSERT文でエラー

    下記のスクリプトで、MySQLサーバーのテーブルの中身を見ようとしたら、 返り値が空でした(行数0) ( クエリの実行時間 0.0010 秒 ) と表示されます。 どこが間違ってるのでしょうか。 ////////////////////// // データベース登録 // ////////////////////// $con = mysql_connect("mysql020.******", "*****", "*****"); // リモートのMySQLデータベースサーバーに接続する mysql_select_db("LAA0471050-ideamemo"); // データベースサーバーに存在する(myPHPAdminで作成済みの)データベースを選択する $sql = "SET NAMES utf8"; mysql_query($sql, $con); $sql = "INSERT INTO ideamemo_table (color, title, contents, create) VALUES ('$color', '$title', '$contents', '$create');"; mysql_query($sql, $con); mysql_close($con); ?>

    • ベストアンサー
    • MySQL
  • PHP+MySQLで高速化

    mysql_query()が返したresourceの行数は得られませんか? 例をあげると データが id p (フィールド) 42 651 23 357 67 123 28 385 このように4レコード有ったとして $res = mysql_query('select p from tbl where p="123"'); これで、$resから3行目というのを得て、3を使ってidの67を得たいのですが、 $res = mysql_query('select id,p from tbl where p="123"'); のようにして$resのidを見るようにする以外の方法は無理なんでしょうか? もし前者が可能ならそちらの方が速いと思うのですが。

    • ベストアンサー
    • PHP
  • mysqlのupdateはどこでやるのですか?

    ものすごい愚問だったらすみません。 mysqlのデータをupdateするのはどこでするのですか? 今はhp上に xxx.phpをつくり、phpで今日の日付を取得し、複数のmysqlテーブルから条件抽出selectし、、、と値を出し、xxx.phpで $sql_l = "UPDATE table名 SET tyo{$month} = '{$ticket_city_month[price]}' WHERE cityname = '{$cityname}'"; $result = mysql_query($sql_l); とし、ブラウザ上から更新して、updateしています。 一応UPDATEはできているのですが、数が多く一気にできません。 (select時にデータ量を少なくするため、あえてwhereで一部ずづやってます。) phpMyAdmin 2.6.0 MySQL 4.1.20 で、 phpMyAdminとNavicat MySQLも利用しています。

  • phpMyAdminで変な現象

    各ソフトのバージョンを上げたらphpMyAdminで新規でテーブルを作成したり、項目を修正する時、フィールドの頭4文字が切れてしまう現象が発生してしまいました。 実行されたSQLクエリーでは↓な感じになります。 ALTER TABLE `data_a` ADD `efg` HAR( 8 ) NULL 実際には「abcdefg」ってvarchar(8)で追加しようとしてる。 phpMyAdminのSQL文を書く所から実行すると正常に処理出来ます。 今まで作ったプログラムも問題なく動いています。(今のところ) 考えられる原因を教えてください。 環境はWindowsXP、Apache2.0.50、PHP4.3.8、MySQL3.23.53です。

    • 締切済み
    • PHP
  • phpmyadminでのテーブル作成

    phpmyadminでテーブルを作成しようとするとエラーが発生します。 <実行されたSQLクエリ> CREATE TABLE `個人情報` ( `氏名` VARCHAR( 30 ) NOT NULL , PRIMARY KEY ( `氏名` ) ) <mysqlのメッセージ> #1 - Can't create/write to file '.\住所録\個人情報.frm' (Errcode: 2) どうやらファイルを作成できないと言われているみたいです。 いろいろ試してみましたがよくわかりません。 初歩の初歩ですいませんがご解答お願いします。

    • ベストアンサー
    • MySQL
  • phpmyadminで条件付きの検索置換クエリー文

    mysql初心者です。 phpmyadmin で検索と置換のクエリ文の書き方に関して質問させて頂きます、宜しくお願いいたします。 データベース: koneko_nyan テーブル: wp_postmeta フィールド:meta_id、post_id、meta_key(varchar(255))、meta_value(longtext) があります。 フィールドmeta_valueの中の"お魚"という文字列を"焼き魚"に置き換えたい。 ただし、meta_valueフィールド全体ではなくて、meta_keyフィールドに"koubutsu"という文字列が含まれている行のmeta_valueに対してだけ置き換えを実行したいと考えています。 この場合、どのようなクエリを送れば、うまく置換できるのでしょうか? 詳しい方いらっしゃいましたら、ご教示頂きたく存じます。

    • ベストアンサー
    • MySQL
  • phpMyadminとPHP上からの違い?

    おせわになります よろしくお願いします SELECT COUNT(*) FROM テーブル名 WHERE dee = 0 AND Fee LIKE '%文字%' というSQL文があり、 phpMyadmin上からSQLを実行すると 4と表示されるのですが PHPから $sql = "SELECT COUNT(*) FROM テーブル名 WHERE dee = 0 AND Fee LIKE '%文字%'"; $result = mysql_query($sql,$conn); $row = mysql_fetch_row($result); とすると0、$row[0]は0となります 特にエラーの表示もなく データベースへの接続も問題ないようなのですが 原因がわかるかたいらっしゃいましたら 教えて下さい 以上よろしくお願いします

    • ベストアンサー
    • PHP
  • WHERE文の中で、MYSQLにINSERTが出来ない。

    メールを指定した時間に送信しようとしています。 手順はMYSQLに送信したい時間とメールの色々を入れて、 CRONで現在時間を調べて、合致したものを送信する。 このような手順で実現しようとしていますが、 最初でつまずいています。 送信先メールアドレスを while で抽出しながら MYSQLへインサートするつもりですが 一度しかインサートしてくれません。 インサートのsqlを[print $sql;]で、表示したものをphpMyAdminで SQL を実行すると キチンと挿入できます。 **3回分まとめてSQL を実行してもうまく挿入できます。 前のページから送ったものは全て[print] で、思い通りの結果が表示します。 どなたか、ご教授お願いいたします。 $sql = "select count(*) as cnt from customer WHERE customerID IN (1,2,3,5,8)"; $rst = mysql_query($sql, $con); $col = mysql_fetch_array($rst); $tcnt = $col["cnt"]; mysql_free_result($rst); print $tcnt."通送信<br />"; $subject ="これはPOSTで送りました"; $honbun ="これはPOSTで送りました"; $from = '送信元メールアドレス'; $jikan = "これはPOSTで送りました"; $sql ="select * from customer WHERE customerID IN (1,2,3,5,8)"; $rst = mysql_query($sql, $con); while($col = mysql_fetch_array($rst)) { $customerID= $col['customerID']; $name = $col['name']; $mail = $col['mail']; i++ $sql = "INSERT INTO mail_queue_timer (timermailID,customerID, jikan ,sender , recipient ,headers, body ) VALUES ($timermailID, $customerID,$jikan , \"$from\" , \"$mail\" ,\"$subject\" , \"$honbun\" ) "; $rst = mysql_query($sql, $con); }

    • ベストアンサー
    • PHP
  • MYSQLとの連動のselect文で

    $dbh = @mysql_connect( $host , $id , $pw ); mysql_select_db( $id , $dbh ); mysql_query( "SET NAMES UJIS" ); $str = "select * from login_data where sid = '$sid' and spass = '$spass'";   $result = mysql_query( $str ); $rec = mysql_fetch_array( $result ); 上記のようにDBに登録されているidとpassの一致した情報を取り出したいのですが、「$result」が何を入れてもfalseになってしまいます。 「$str」をprintで出力したものを直接phpmyadminのSQLに流し込むと普通に情報を取ってこれるのですが、プログラムのmysql_query()がうまく動きません。 どなたかお分かりになる方いましたら是非教えていただけませんでしょうか。 よろしくお願い致します。

    • 締切済み
    • PHP