2015-01-23 4 views
2

я используюизвлечение значения из массива базы данных CodeIgniter

$sql= "select * from tablename where id=1"; 
$query= $this->db->query($sql); 
$row = $query->result_array(); 

в модели codeigniter.My таблицы состоит из имени поля «ID'.how к retrive ID от $ строки.

$id = $row['ID']; 

который показывает

<p>Message: Undefined index: DOCUMENT_ID</p> 

, как решить эту

+0

Ваш вопрос неверен. Сообщение относится к индексу «DOCUMENT_ID», но вы пытаетесь получить доступ к «ID», поэтому это не может быть сообщение из вышеуказанного кода. Вы поняли это ниже - массив $ row является многомерным, поскольку в нем может быть много строк –

ответ

2

Я получил ответ $ Id = $ строки [0] [ 'ID'];

0

Я надеюсь, что это может помочь вам

$sql= "select * from tablename where id=1"; 
$query= $this->db->query($sql); 
foreach($query->result() as $values){ 
echo $values->id; 

} 
0

Если идентификатор является уникальным ключом в базе данных, как это кажется, вы должны сделать это:

$sql= "select * from tablename where id=1"; 
$row = $this->db->query($sql)->row(); 

Он извлекает первый ряд результат. Поскольку идентификатор уникален, вы хотите получить только одну строку.

Чтобы получить идентификатор, просто сделать:

$id = $row['ID']; 

Просто оптимизированным путь по сравнению с решением, которое вы нашли.

0

Если вы получите строку как

$row = $this->db->query($sql)->row(); 
$id = $row->id; 

вы получаете первую строку в качестве объекта и должны получить доступ к нему, как $ row-> ид. Вы также можете использовать

$row = $this->db->query($sql)->row_array(); 
$id = $row['id']; 
Смежные вопросы