phpの質問です。


下記コードで
$rst だけが値を返しません。
どのような問題が考えられますでしょうか?
環境:redhat9/apache2/php4/mysql4

<?php

require_once("dbini.php");

$con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);
$selectdb = mysql_select_db($DBNAME, $con);

//新しいレコードを追加します
$sql = "insert into bookinfo (isbn, title, price, date)
values (\"4-7741-1726-9\", \"JavaScript ポケットリファレンス\",
2180, \"2003/5/26\")";
$rst = mysql_query($sql, $con);
?>

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/06/13 17:59:36
  • 終了:2006/06/14 19:00:01

回答(2件)

id:ito-yu No.1

ito-yu回答回数323ベストアンサー獲得回数142006/06/13 18:12:55

ポイント35pt

http://jp.php.net/manual/ja/function.mysql-escape-string.php

SQL中に直接マルチバイト文字を入れているのが問題ではないでしょうか。mysql_escape_stringを使うと、適切にエスケープしてくれるので、sprintfなどで整形すれば良いかと思います。

しかしなにより mysql_errno とか mysql_error を用いて、どんなエラーが起こっているか確認していないことに問題があります。

id:wm107p

回答ありがとうございます。

こんな便利な関数があるんですね。

下記のような出力でした。マルチバイトも含めて早速調べてみます。

2006/06/14 18:59:34
id:tadashi0805 No.2

tadashi0805回答回数287ベストアンサー獲得回数292006/06/13 18:16:25

ポイント35pt

正常に動かないということは、どこかの行でエラーが発生していると思います。

http://php.mirror.netmonic.com/manual/ja/ref.mysql.php

参考URLの例のように、エラーハンドリング(各行のor die以降)を入れて、エラーが発生していないかどうかを確認してみてください。エラーが起こっていれば、mysql_error()関数で原因がわかります。

id:wm107p

ありがとうございます。

2006/06/14 18:59:00

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません