2008年11月17日

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

加藤です。

あ、そういうこともあるんですかね。
となると、非推奨の 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
>>>>
>>>>
>>>
>


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




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