Q:MYSQLテーブルのUPDATEについて DBからTABLEAを読み込んでおいて、そのデータを違うテーブルに格納したい(常にデータをIDごとに最新の1件としたい)と思い、 以下URLを参考にやってみたのですが、うまく動いてくれません。 http://naruhodo.television.co.jp/qa4380807.html?check_ok=1 プログラムについてご教授願ください。 [MYSQL5.1 PHP5.2] // 接続 require_once("conn.php"); // SQL $result = mysql_query("SELECT id, name, sum(price) AS price FROM TABLEA GROUP BY id"); // 変数格納&DB書き換え while ($row = mysql_fetch_array($result)) { $ins_sql[] = "UPDATE TABLEA SET id = '".$row[id]."', name = '".$row[name]."', price = '".$row[price]."'"; } for ($i=0; $i < count($ins_sql); $i++){ $res = mysql_query($ins_sql[$i]);A:回答
Q:SeasarのS2DAOの自動生成SQLについて質問です。 Daoインターフェースに、例えばinsert()メソッドを書くと、自動でinsert文を生成してくれますが、 insert()以外に他にどのようなものがありますか? また、その情報は、どのサイト、orシーサーのソースに書いてありますか? 以下は、私の環境で確認できたものです。 // 主キー検索 @Arguments( { "id" }) T find(int id); // 全検索 List<T> findAll(); // 登録 int insert(T entity); // 更新 int update(T entity); // 削除 int delete(T entity);A:回答
Q:以下のようなテーブルを作成して CREATE TABLE IF NOT EXISTS `TEST1` ( `ID` varchar(15) NOT NULL DEFAULT '', `DATE_PARAM` date NOT NULL DEFAULT '0000-00-00', `PRICE` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`,`DATE_PARAM`) ) ENGINE=MyISAM DEFAULT CHARSET=ujis;ID PRIMARYの場合にPRICEの値が、 格納されている値より 安い場合だけ更新したいです。 それ以外の場合は、INSERTしたいです。 以下のSQLに条件文など足せるのでしょうか? INSERT INTO TEST1 (ID,DATE_PARAM,PRICE) VALUES (1,'2009-01-19',100) ON DUPLICATE KEY UPDATE PRICE=100 わかる方いましたら、よろしくお願いします。 A:回答
Q:PHPについて質問です。 自分でサンプルを見ながら作成したphpファイルを実行したところ Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/●●/public_html/●●/●●/members4.php on line 15 というエラー文がでました。そこで「members4.php on line 15」を見たところ $users = mysql_fetch_array( $result ); と書いてありました。 MySQLもつかっています。 これは「members4.php on line 15」に問題があるのではなくデータベースに登録が出来ていないから出るエラーなのでしょうか? 前後の文も添付します。 $sql = "select mail1_us from users where mail1_us = '" . mysql_real_escape_string( $_GET['mail1_us'] ) . "'"; $result = mysql_query( $sql ); $users = mysql_fetch_array( $result ); if ( md5( $magic_code . $users['mail1_us'] ) == $_GET['md5'] ) { $sql = "update users set state = '0' where mail1_us = '" . mysql_real_escape_string( $_GET['mail1_us'] ) . "'"; 以上原因がわかる方、思い当たる方は教えて下さい。 宜しくお願い致します。 A:回答
Q:SQLについて質問です。 現在データベースの文字を置換する事をしているのですが - (半角ハイフン)を 全角の ー にしたいのですが どうやっても置換することが出来ません。 例えば ★テーブル TEST ★項目 KOUMOKU1 KOUMOKU1 に入っているデータすべての -(半角ハイフン)をー(全角ハイフン)に置換する場合 UPDATE TEST SET `KOUMOKU1` = REPLACE(`KOUMOKU1`,'-','ー') としました。 しかし変化がありません。 数字等は置換できるのにハイフンだけ出来ないのは何か理由があるのでしょうか? 対応策がわかる方おりましたらよろしくお願いいたします。A:回答
Q:SQL、PHPについて質問です。 現在データベースが以下のようになっています。 ★テーブル TEST ★項目 TEST1 、TEST2 、SAGAKU ★データ数が40位 TEST1とTEST2には数字が入っています。 TEST1 と TEST2 の差額の数字を SAGAKU の項目に入れたいのですが出来ません。 PHPで命令文を考えてみたのですが、 UPDATE SAGAKU SET TEST SAGAKU = TEST2 - TEST1 ←これを一番上のデータから順番に適用させる処理が必要だとは思うのですがイマイチ出来ません。 これを行の最後まで続けるにはどのようなPHP命令ができそうでしょうか?もしくはSQL命令だけで出来たりするものでしょうか? お手数をおかけしますがわかるかたおりましたらよろしくお願いいたします。 A:回答
Q:SQL命令について質問です。 現在PHPMyAdminを使用して命令文を作成しようとしているのですが UPDATE命令文で ?という文字を含んでいるデータ全てを""(何もない状態)に変更する。 という命令文は可能でしょうか? 例えば テーブル名 TEST 項目 KOUMOKU_A KOUMOKU_B とあり KOUMOKU_A のデータは "テスト?" KOUMOKU_B のデータは "?テスト" の場合に、命令実行後 KOUMOKU_A のデータは "テスト" KOUMOKU_B のデータは "テスト" と変更したいです。 わかる方でSQL命令が組める方おりましたらよろしくお願いします。 A:回答
Q:PHP,MYSQLについて質問です。 現在DBのデータを自分が作成したHTMLの型に埋め込み、それをまたDBへ保存するという作業をしています。 まず初めに $sql=mysql_query("SELECT * FROM TEST ") で選択して その後 while ($row = mysql_fetch_array($sql, MYSQL_ASSOC)) { $html=" <html><body> 名前:"$row["namae"]" ."メッセージ".$row["sonota"]." </body></html> "; } の様にデータをひとつひとつ埋め込んでいこうと考えています。 ここまでは出来たのですが、この後出来た$htmlをDBの指定した場所へ保存しようとすると Parse error が発生してしまいます。 作成した命令ですが mysql_query("UPDATE TEST SET HTML='".$html."' WHERE KANRI_NO='"$row["KANRI_NO"]"' "); です。 $htmlのすぐ次に埋め込みました。(最後の }の前) これは while ($row = mysql_fetch_array($sql, MYSQL_ASSOC)) {} この構文の中にmysql_query();を使ってはいけないということなのでしょうか? もしそうだとしたらどの様な対処方法があるでしょうか? お手数をおかけしますがわかるかたおりましたらよろしくお願いします。 A:回答