0

スクリプトで更新クエリを実行しています。true を返していますが、更新クエリはテーブルを更新しません。これがクエリです。ここで何が欠けていますか?

$connection = db::factory('mysql');
$query='update bookings SET date="'.$date.'",time_from="'.$time_from.'",time_to="'.$time_to.'",status="'.$status.'" where booker_id="'.$booker_id.'"';
if(mysql_query($query)) {
   echo "success"; exit;
   return true;
} else {
   echo "fail"; exit;
   return false;
}

これがテーブル構造です

CREATE TABLE IF NOT EXISTS `bookings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date` date NOT NULL,
  `time_from` time NOT NULL,
  `time_to` time NOT NULL,
  `status` varchar(250) NOT NULL,
  `booker_id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=20 ;
4

5 に答える 5

0

そして、列名の日付と日付が列のデータ型であり、mysqlで予約済みのキーワークであるため、列名までは次のように使用します。

$query='update `bookings` SET `date`="'.$date.'",`time_from`="'.$time_from.'",`time_to`="'.$time_to.'",`status`="'.$status.'" where `booker_id`="'.$booker_id.'"';
于 2013-08-05T09:06:29.823 に答える
0

エラーがなかったため、true を返します。
しかし、条件に一致するエントリがないため、Mysql は更新するエントリを見つけられませんでした。
クエリ全体を返して確認し、phpMyAdmin で手動で実行してみてください。
日付列の前後の ` に +1。

于 2013-08-05T09:09:09.913 に答える