2008年11月17日

[mysql 14667] Re: phpでの追加について

吉田です。

加藤さんが仰るように、頭のほうでmysql_select_dbを実行して、
あとはmysql_queryでやるのがいいかと思います(^^)
いずれにせよ、mysql_db_queryは廃止予定メソッドなので、、、(><;)

c-atwork さんは書きました:
> 加藤です。

>
> あ、そういうこともあるんですかね。
> となると、非推奨の mysql_db_query を使わずに
> $result = mysql_query($W_SQL);
> で良いかもですね。
>
> 明示的にしたいならば
> $res = mysql_select_db($db)
> $result = mysql_query($W_SQL);
> とすれば丁寧でしょうか。不要だとは思いますが。
>
>> 吉田です。
>>
>> 試していないので確証はないですが、
>> mysql_db_queryとmysql_queryが混在しているため、
>> コネクションが別になってしまって、トランザクションが効いていない
>> ということはないでしょうか。
>>
>> c-atwork さんは書きました:
>>> 加藤です。お世話になります。
>>>
>>> たとえばphpMyAdminなどで、該当のテーブルに
>>>
>>> INSERT INTO Question(RecType, Qs_CD, Qs_DatE, Qs_Time, Qs_Quetion01,
>>> Qs_Quetion02, Qs_Quetion03, Qs_Quetion04, Qs_Quetion05, Qs_Quetion06,
>>> Qs_Quetion07, Qs_Quetion08, Qs_Quetion09, Qs_Quetion10, SendRecord,
>>> Timestamp ) VALUES ('Qs', 'TRIALE200811', '2008/11/17', '16:27:1', '',
>>> '', '', '', '', '', '', '', '','', '',''
>>>
>>> を投げるとちゃんとインサートされるということでいいですか?
>>> 実は、nullを許可してないフィールドがあるとかではないですよね?
>>>
>>>> お世話をおかけします。
>>>>
>>>> tuchida です。
>>>>
>>>> 長文で申し訳ありませんが
>>>> ソースは以下の通りです。
>>>>
>>>> /* デバッグ */
>>>> /* print("TrialkitDBPut Start<BR>\n"); */
>>>>
>>>>
>>>> /* データベース接続 */
>>>> $dbHost = "localhost";
>>>> $dbUser = "ancate";
>>>> $dbPass = "5506";
>>>> $dbName = "v55Ancate";
>>>> $db = mysql_pconnect($dbHost, $dbUser, $dbPass);
>>>> /* デバッグ */
>>>> print("db = " . $db . "<BR>\n" );
>>>> /* キャラクタセット設定 */
>>>> $W_SQL = "SET NAMES UTF-8";
>>>> $sqlRes = mysql_query($W_SQL);
>>>> /* デバッグ */
>>>> print("sqlRes (SET NAMES )= " . $sqlRes . "<BR>\n" );
>>>> /* トランザクション開始 */
>>>> $W_SQL = "begin";
>>>> $sqlRes = mysql_query($W_SQL);
>>>> /* デバッグ */
>>>> print("sqlRes = " . $sqlRes . "<BR>\n" );
>>>> /* データベース出力 */
>>>> $d = getDate();
>>>> $W_DATE = $d["year"] . "/" . $d["mon"] . "/" . $d["mday"];
>>>> $W_TIME = $d["hours"] . ":" . $d["minutes"] . ":" . $d["seconds"];
>>>> $W_SQL = "INSERT INTO Question(";
>>>> $W_SQL = $W_SQL."RecType, Qs_CD, Qs_DatE, Qs_Time, ";
>>>> $W_SQL = $W_SQL."Qs_Quetion01, Qs_Quetion02, Qs_Quetion03,
>>>> Qs_Quetion04, Qs_Quetion05, ";
>>>> $W_SQL = $W_SQL."Qs_Quetion06, Qs_Quetion07, Qs_Quetion08,
>>>> Qs_Quetion09, Qs_Quetion10, ";
>>>> $W_SQL = $W_SQL."SendRecord, Timestamp ) ";
>>>> $W_SQL = $W_SQL."VALUES (" ;
>>>> $W_SQL = $W_SQL."'Qs', 'TRIALE200811', '" . $W_DATE . "', '" . $W_TIME
>>>> . "', '" . $pName."', '";
>>>> $W_SQL = $W_SQL.$pAddress."', '";
>>>> $W_SQL = $W_SQL.$pTel."', '";
>>>> $W_SQL = $W_SQL.$pEmail."', '";
>>>> $W_SQL = $W_SQL.$pSex."', '";
>>>> $W_SQL = $W_SQL.$pNenrei."', '";
>>>> $W_SQL = $W_SQL.$pQuetion1."', '";
>>>> $W_SQL = $W_SQL.$pQuetion2."', '','', ";
>>>> $W_SQL = $W_SQL."'','')";
>>>> /* デバッグ */
>>>> print($W_SQL . "<BR>\n" );
>>>> $result = mysql_db_query($W_SQL, $db);
>>>> /* デバッグ */
>>>> print("SQLAfter = " . $result . "<BR>\n" );
>>>> /* コミット */
>>>> $W_SQL = "commit";
>>>> $result = mysql_db_query($W_SQL, $db);
>>>> /* デバッグ */
>>>> print("result = " . $result . "<BR>\n" );
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ----- Original Message -----
>>>> From: "Tuchida" <tuchida_toshiyuki@xxxxx>
>>>> To: <ml@xxxxx>
>>>> Sent: Monday, November 17, 2008 9:30 AM
>>>> Subject: [mysql 14656] phpでの追加について
>>>>
>>>>
>>>>> tuchidaです
>>>>>
>>>>> 本当に久々の投稿です。
>>>>>
>>>>> 今phpでプログラムを書いているのですがINSERT文がうまく実行されません。
>>>>> (エラーログの場所がわからないのでちゃんと報告できないでのですが、
>>>>>
>>>>> 1.データベースのコネクトとUSE文にかんしてはOKと思われる。
>>>>>
>>>>> 2.INSERT文のSQL内容についてはデバックで文字列をmysqlコマンドにて確認済み
>>>>>   (正しく追加されています)
>>>>>
>>>>> 3.mysql_query()での「bigin」と「Commit」に関しては正常(1が返ってきま
>>>>> す)
>>>>>
>>>>> 4.mysql_query()でも、mysql_db_query()でも値が帰らず、か追加されませ
>>>> ん。
>>>>> Mysqlのバージョンは4.1.13で、phpは4.4.0です。
>>>>>
>>>>>
>>>>>
>>>>> __________ ESET Smart Security からの情報, ウイルス定義データベースのバー
>>>> ジョン 3615 (20081115) __________
>>>>> このメッセージは ESET Smart Security によって検査済みです。
>>>>>
>>>>> http://canon-its.jp
>>>>>
>>>>>
>

--
吉田 太一郎
taichiro.yoshida@xxxxx
http://iddy.jp/profile/dataich/


投稿者 xml-rpc : 2008年11月17日 17:03
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/79175
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。