MYSQL PDO dönüş türü garip dönüşüm

0 Cevap php

Ben MYSQL Aşağıdaki tabloda tanım var

CREATE TABLE IF NOT EXISTS `test_cases` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `exercise_id` int(10) unsigned NOT NULL,
  `author_id` int(10) unsigned NOT NULL,
  `input_1_value` varchar(255) default NULL,
  `input_2_value` varchar(255) default NULL,
  `input_3_value` varchar(255) default NULL,
  `input_4_value` varchar(255) default NULL,
  `input_5_value` varchar(255) default NULL,
  `output_value` varchar(255) default NULL,
  PRIMARY KEY  (`id`),
  KEY `test_cases_ibfk_1` (`exercise_id`),
  KEY `author_id` (`author_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3218 ;

Ben bu tabloya aşağıdaki girdiyi

INSERT INTO `test_cases` (`id`, `exercise_id`, `author_id`, `input_1_value`, `input_2_value`, `input_3_value`, `input_4_value`, `input_5_value`, `output_value`) VALUES
(560, 145, 496, '0', NULL, NULL, NULL, NULL, '0')

Ben tablodan yukarıdaki satır almak için aşağıdaki sorgu var

SELECT id, exercise_id, author_id, input_1_value, input_2_value, input_3_value, input_4_value, input_5_value, output_value FROM test_cases WHERE exercise_id=145

Ben ilgileniyorum, ve input_1_value, değeri ile ilgili sorunlar yaşıyorsanız. PhpMyAdmin sorguyu çalıştıran beklendiği gibi olduğu, '0 'olarak değerini dönecektir. Ancak aşağıdaki php komut dosyası çalıştıran tamamen alanını terk etti ve beni bırakarak ve benim proje süpervizörü şaşkına olan 'gerçek' olarak değerini verir. Php script aşağıda olduğunu ...

$db = DBCxn::getCxn();      
$sql = "SELECT id, exercise_id, author_id, input_1_value, input_2_value, input_3_value, input_4_value, input_5_value, output_value FROM test_cases WHERE exercise_id=:exid";
$st=$db->prepare($sql);
$st->bindParam(":exid", $exerciseId, PDO::PARAM_INT); // $exerciseID == 145
$st->execute();

$row = $st->fetch(); // default fetch mode is PDO::FETCH_BOTH

echo $row['input_1_value'];

Bu yankılanırken 'gerçek'!! neden?? neden '0 'yazmıyor??

kullanarak daha fazla bilgi için print_r($row); Ben şu çıktıyı almak

Array ( [id] => 560 [0] => 560 [exercise_id] => 145 [1] => 145 [author_id] => 496 [2] => 496 [input_1_value] => true [3] => true [input_2_value] => [4] => [input_3_value] => [5] => [input_4_value] => [6] => [input_5_value] => [7] => [output_value] => true [8] => true ) 

O '0 olması gerektiği zaman not output_value da 'gerçek' olarak döndürülür.

Herkes burada neler olduğunu biliyor mu? Herhangi bir yardım takdir edilmektedir. BÜYÜK takdir.

0 Cevap