2008年11月17日

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

吉田です。

試していないので確証はないですが、
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日 16:36
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/79169
トラックバック
コメント
コメントする




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