#php #mysql #sql #codeigniter
#php #mysql #sql #codeigniter
Вопрос:
Привет, я новичок в CodeIgniter, и я просто хочу знать, как я буду запрашивать из моей базы данных MySQL оператор выбора с предложением where, я знаю, что его можно найти в сети, но всякий раз, когда я пытаюсь что-то сделать, я получаю ошибки, это действительно расстраивает. Строка в предложении Where будет исходить из пользовательского ввода. Спасибо, ребята!
Комментарии:
1. Можете ли вы поделиться частью кода, который вы пробовали, с получаемыми ошибками? Все это должно быть описано в руководстве по CI
2. $expiry = $this-> db-> query(«ВЫБРАТЬ abc ИЗ abc_db, ГДЕ abc_id = ‘$abc’ «); $expiry2 = $expiry-> результаты();
3. я получаю вызов неопределенного метода CI_DB_mysql_result::results()
4. извините за вопрос, ребята
5. поскольку нет
results()
толькоresult()
, пожалуйста, обратитесь к документации ellislab.com/codeigniter/user-guide/database/index.html
Ответ №1:
Вы можете поступить так, как указано в Mehedi-PSTU, однако кажется, что вы немного новичок в этом, поэтому вот некоторая дополнительная информация:
Я скопирую Mehedi-PSTU по большей части здесь.
$this->get->where('column_name', $equals_this_variable);
$query = $this->db->get('table_name');
Это сохранит объект запроса в переменной $query.
если вы хотите преобразовать это в полезный массив, вы просто выполните следующее.
$results = $query->result_array();
Или вы можете выполнить цикл следующим образом:
foreach($query->result_array() as $result){
// Perform some task here.
}
Лучшее или даже полное понимание, вероятно, может прийти из:
http://ellislab.com/codeigniter/user-guide/database/active_record.html
Комментарии:
1. вопрос @Craig Barben что, если я выбираю конкретное имя_столбца, а не все строки, которые равны $ equals_this_variable?например
2. выберите имя из table_name, где id = ‘$id’, вот так, как в CI?
3. Добавьте $this->db->select(‘column_name’); Перед оператором where.
4. Преобразование массива в строку
Ответ №2:
Попробуйте что-то вроде этого
$this->db->where('db_attr', $var);
return $this->db->get('table');
Ответ №3:
Попробуйте это.
$id = 'your id';
$this->db->select("*");
$this->db->from("table_name");
$this->db->where('id','$id');
$query = $this->db->get();
return $query->result_array();
Ответ №4:
В Codeigniter со стилем цепочки методов :-
$data['getData'] = $this->db->get_where('table_name',array('column_name'=>$var))->result_array();