• ベストアンサー

phpとmysqlを使っています。

phpとmysqlを使っています。 列はID、NAME、SUBID がある場合に、 IDが X の行の SUBID に 値を挿入するにはどうしたらいいのでしょうか。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

SQL文をphpから投げる。 update <テーブル名> set SUBID = <挿入する値> where ID = X ※データ型によっては リテラルをクォーテーションで囲うこと

mittyu3
質問者

お礼

どうもありがとうございました。 無事にやりたいことが出来ました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • php+MySQLでレコードが何行目かを知るには

    お世話になります。 php+MySQLの環境でレコードが何行目になるかを 知る方法を教えてください。 まず下記のようなテーブルがあるとします。 |  id  |  name  | -------------------- |  1 |  山田  | |  2 |  田中  | |  3 |  中村  | |  5 |  山本  | idはAutoIncrementで振っています。 nameは重複することはありません。 レコードは更新状況により削除されることがあるため、 idは必ずしも連番になっているわけではありません。 このような状況で上のテーブルの「山本」を ORDER BY id ASC で取得する際に「山本は4行目である」 ということがわかる方法を教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • phpでmysqlからの呼び出しについての質問です。

    phpでmysqlからの呼び出しについての質問です。 現在mysqlから下記のように値を呼び出し、age=10の条件にあてはまるものだけを3つまで表示させたいと思っています。 $query = "SELECT id, name, birth, age FROM log WHERE age=10 LIMIT 0 , 3"; $hoge = $db->rowset_assoc($query) or $db->error("Query failed $query".__FILE__.__LINE__); foreach($hoge as $row) { $id= $row['id']; $name= $row['name']; $birth= $row['birth']; } $hoge = array( array("$id","$name","$birth"), array("$id","$name","$birth"), array("$id","$name","$birth"), ); 更新の度にシャッフルさせたいのでarrayを使用しているのですが、 これだと3つとも同じ数値が出てきてしまい困っています。 それぞれの値を取り出し、arrayに入れるにはどのようにすれば良いのでしょうか。 宜しくお願い致します。 大文字小文字の使い方については参考資料そのままに作成しましたので おかしい部分があるかもしれません。

    • ベストアンサー
    • PHP
  • PHPとmysqlに関して

    while($row3 = mysql_fetch_array($res3)){ $r3 = $row3['name']; $d3 = $row3['day']; while($row = mysql_fetch_array($res)){ $r = $row['name']; if($days==$d3 and $r==$r3){ echo '<a href="tops2.php?id='.$row['id'].'"><div class="aaa"><div style="padding-top:10px">'.$row['name'].'<br><font color="red">出勤中</font></div></div></a>'; }else{ echo '<a href="tops2.php?id='.$row['id'].'"><div class="aaa"><div style="padding-top:15px">'.$row['name'].'</div></div></a>'; } }} 簡単に説明すると、テーブルAのnameとテーブルBのnameが合致したら出勤中と表示させたいのですが、何故か合致したデータの一部しか出勤中と出ません。 なにがおかしいですか??

    • ベストアンサー
    • PHP
  • 【PHP・MySQL】一文字だけ抜き出したい

    php・MySQL初心者です。 何とかここまで自力でやってこれたのですが、もうお手上げで…。 サンプルコードを解析し、部分的に理解しながら進んでる状態です。 やりたいことは、 「ユーザーが入力した文字列の最後の1文字だけを抜き出し、データベースに代入する」です。 ←(2) ちなみに、 「ユーザーが入力した文字列をそのまま、データベースに代入する」はできました。←(1) 参考に、(1)のソースコードの一部を書きます。 ------------------------------------------- 『main.php』 <form action="result.php" method="POST" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="<?= $file_maxsize ?>"> タイトル:<INPUT type="text" name="title" size="50"><br> コメント:<INPUT type="text" name="comment" size="50"><br> <input type="submit" value="送信"> </form><hr> ------------------------------------------- 『result.php』 $comment = @trim($_REQUEST['comment']); //※ $query = "insert into main_t (comment, last)" . " values ('$comment', '$last')"; $result = mysql_query($query); ------------------------------------------- だいたいこんな感じで(1)は出来ました。 (関係がありそうなところだけを抜き出したつもりです…) 『main.php』で出力して確認もしました。 (2)の現状の私のコードを書きます。 ------------------------------------------- 『result.php』 $x = mysql_query("select right('$title', 1)"); $last = mysql_fetch_assoc($x); ------------------------------------------- これを(1)の //※  の部分に記述してみましたが、うまくいきません。 出力するとなぜか「Ar」と出てきます…泣 『select right('いちもじ', 1)』で『じ』とちゃんと右一文字が取り出せるのをbatファイル?みたいなので確認しました。 このSQL文をPHP内で行いたいのですが、やり方がわかりません…。 (そもそも根本的に間違っているのでしょうか…) $x = mysql_query("select * from ○○ where 条件"); $last = mysql_fetch_assoc($x); みたいにfromで検索先や条件を指定して得た「配列」を取得し、表示する方法はネット検索で沢山見つかったのですが、fromやwhereを使わず、結果も配列ではなく1つだけ得られるような場合は、どうすればよいのでしょうか? わかりづらい文章ですみません; 難しい質問かとは思いますが、PHPやMySQLに詳しい方がいましたら、是非ともご教授いただけたらと思います。 よろしくお願いいたします。

  • PHP+MySQL

    PHP4で、MySQLに接続しています。 $connには、接続IDが格納されています。 以下のスクリプトで、「エラー」が出てしまうのですが、何故でしょうか? $sql = "SELECT (User_num, User_name, User_pass) FROM User WHERE User_name='$login_name'"; if (!$result= mysql_query($sql, $conn)){ die (print ("エラー")); } SQL文を、 SELECT (User_num) FROM User WHERE User_name='$login_name' と書き換えるとうまくいきます。複数にするとエラーというのはどうしてでしょう

    • ベストアンサー
    • MySQL
  • PHP MySQL で updateができません

    はじめまして。Amazon.co.jpなどでよくある 「このレビューは参考になりましたか?」 Yes/No でレビューに対する評価機能をPHPで組みたいのですが、 update set でうまくデータ更新ができず困っております。 以下ソース 【入力画面】 ----------------------------------------------------------- <? while ( $adp = mysql_fetch_array( $result6 ) ) { ?> <form name="register" action="rev.php" method="post"> //レビュー内容 <?php $str = nl2br($adp['description']); echo $description . $str ; ?> //レビュー内容 このレビューは参考になりましたか? <input type="radio" name="vote" value="2" checked>参考になった<br> <input type="radio" name="vote" value="1">参考にならなかった<br><br> <? echo $adp['add_id'] ?> <input name="add_id" type="hidden" value="<?= $adp['add_id'] ?>"> <input type="submit" value="- 登録 -"> <input type="reset" value="リセット"> </form> <? } ?> 【完了画面】 ----------------------------------------------------------- <? require( '../config.php' ); require( '../lib.php' ); $link = db_connect(); $sql = "update adp set vote = '" . mysql_real_escape_string( $_POST['vote'] ) . "' where add_id = '" . mysql_real_escape_string( $_GET['add_id'] ) . "'"; $result = mysql_query( $sql ); echo mysql_error(); // ?> 投票完了 ----------------------------------------------------------- 要するに adpのデータベースのadd_idが同じテーブルの中の voteの値を1か2に更新したいだけなのですが、 1人で色々と試してもどうしても更新できずに 困っております。 どなたかお分かりの方がいらっしゃいましたら是非 お教えいただけますと幸いです。 足りない情報などございましたらご連絡ください。 補足させていただきます。 すみません、どうかお願いします。

    • ベストアンサー
    • PHP
  • PHPでレコード追加(MYSQL)が出来ません

    以下のようにするとうまくいってたのが、 ひとつフィールドを増やすとうまくいきません。 単純なミスだろうと思い、数時間格闘していますが見つかりません。 よろしくご教授お願いいたします。 MYSQL table mem id vacher(10) name vacher(100) pass varcher(8) regdate date PHP $sql = "insert into mem (id , name , pass ,regdate) values ('$id', '$name', '$pass', now())"; ↓↓↓↓↓↓ MYSQL table mem id vacher(10) name vacher(100) pass varcher(8) regdate date kikan varcher(100) PHP $sql = "insert into mem (id , name , pass ,regdate ,kikan) values ('$id', '$name', '$pass', now() ,'$kikan')";

    • ベストアンサー
    • MySQL
  • PHP MySQLでエラーがでてしまいます。

    PHP MySQLからデータを取得したいのですが、以下のエラーが出てしまい原因が分かりません。 詳しい方お願い致します。 <b>Warning</b>: json_encode() expects exactly 1 parameter, 2 given in <b>/home/users/2/***.**-********/web/****************/php/seupPharmacyData.php</b> on line <b>21</b><br /> エラーが出るコードは以下になります。 <?php include "db.php"; $sql = "SELECT * FROM user_data"; $query = mysql_query($sql, $db) or die("クエリの送信に失敗しました。<br />SQL:".$sql); $result= array(); while ($row = mysql_fetch_object($query)) { $result[] = array( 'name1' => $row->name1, 'name2' => $row->name2, 'name3' => $row->name3, 'id' => $row->id, ); } //jsonとして出力 header('Content-type:application/json; charset=UTF-8'); echo json_encode($result,JSON_UNESCAPED_UNICODE); ?>

    • ベストアンサー
    • PHP
  • PHP と Mysql の連携時に発生する漢字の文字化け

    宜しくお願いします。 1.PHPプログラムからMYSQLにデータを書き込んだ際、結果をコマンドプロンプトで見ると漢字が文字化けしてしまいます。 2.また、コマンドプロンプトから直接同じ命令を打ち込んだ場合は、漢字の値だけがテーブルに挿入(insert)されません。または、結果は挿入されているが、表示されていないだけだという可能性もあります。  しかし、結果をphpMyAdminから見ると、前者は期待通りの値、つまり漢字が挿入されているようです。後者は、phpMyAdminから見ても相変わらず、何も挿入されていないように見えます。  文字コード設定は、utf8にしました(画像添付)。  この問題にはとても手こずっています。昨日一日をこの問題のために費やし、今日も潰れそうです。しかし、どうしても途中放棄したくありませんので、お力を貸し頂けないでしょうか。  説明不足な点がございましたら、どんどん補足説明を要求してください。以下に保持している情報・状況をできるだけ詳しく書かせていただきました。重複する部分もあるかもしれませんが、その点はお許しください。ご回答をお願いします・・・。 <<PHPプログラムソース>> このプログラムは、phpユーザ,passパスワードでlocalhostにアクセスし、php_sample_databaseデータベースに接続後、カラム(id<primary key>)と(name)からなるテーブルを作成します。その後、作成したテーブルに漢字を含む値を入力します。今回発生している問題は、この処理に際して生じていると思われる「漢字の文字化け」です。 <?php $createGender = <<<DDL create table gender (id int primary key, name varchar(32) ) DDL; $conn = mysql_connect("localhost","root","pass"); mysql_query("set names 'utf8'",$conn); echo "SET NAMES utf8★" . mysql_client_encoding(). "<br>"; mysql_set_charset("utf8",$conn); echo "mysql_set_charset★" . mysql_client_encoding() . "<br>"; #上は、クライアント文字コードの実験 mysql_select_db("php_sample_database",$conn); mysql_query($createGender,$conn); mysql_query("insert into gender (id, name) values (1,'男性')",$conn); mysql_query("insert into gender (id, name) values (2,'女性')",$conn); mysql_close($conn); echo '初期化終了<br>'; ?> <<PHPプログラムの実行結果―ブラウザ画面>> SET NAMES utf8★latin1 mysql_set_charset★utf8 初期化終了 ※ブラウザは正常に表示されます。文字化けはありません。 <<PHPプログラムの実行結果―コマンドプロンプト画面>> ※詳細は、画像を添付させていただきます。 --------- id |name --------- 1 |漢字の文字化け 2 |漢字の文字化け --------- <<PHPプログラムの実行結果―phpMyAdmin画面>> 画像の左側に添付させていただきました。 <<コマンドプロンプトで実行した結果>> ※PHPと全く同じ命令のうち、テーブル作成に関する部分のみをコマンドプロンプトから入力した結果・・・下図のようにname欄が空白になりました。つまり、漢字部分だけが表示されなかったことになります。 --------- id |name --------- 1 | 2 | --------- <<コマンドプロンプトで実行した結果―phpMyAdmin画面>> 画像の左側に添付させていただきました。 <<使用している環境・バージョン情報>> OS:Windows vista Home premium xampp:1.6.8 apache:2.2.9 mysql:5.0.67-community-nt phpmyadmin:2.11.9.2 php:5.2.6 申し遅れましたが、私は、PHPとMYSQLをセットで勉強し始めたばかりのひよっこです。 長くなってしまい、申し訳ありません。どうぞ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • PHP5+MySQL5 CSVから、更新、追加する処理の書き方

    こんにちは。 PHP5とMySQL5を使っています。 CSVファイルを読み込み、キーが存在するレコードは更新、 存在しなければ追加、という処理について 色々な書き方を教えて頂けたらと思います。 例えば、フィールドは、ユニークキーとなる[ID]、 [Name]、[TEL]の3つとします。 1.CSV読む 2.行と列の2次元配列に格納 3.行数分ループ開始 3-1.IDをキーに、SELECT 3-2.存在したら 3-3.UPDATE更新 3-2.存在しなかったら 3-3.INSERT追加 4.行数分ループ終了 と考えています。 CSVに100行あったら、100回SELECT掛けることになりますが、 この書き方で問題ないでしょうか? もっと判り易い、こんな書き方も! というのがありましたら、是非頂けますでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP