Я пытаюсь вставить четыре переменные в таблицу mysql. Следующий оператор mysql INSERT создает ошибки T_STRING. Я был бы признателен, если кто-нибудь может сообщить, где моя ошибка в синтаксисе.ошибки вставки переменных в операторе mysql
function add_student($name, $phone, $email, $id) {
global $modx;
$session_id = intval($id, 10);
$query = $modx->db->INSERT INTO `xtra_students`(`name`, `phone`, `email`, `session_id`) VALUES ('$name', '$phone', '$email', '$session_id');
return $query;
}
Первые 3 переменные - varchar, а $ session_id - int (4).
Пожалуйста, сначала прочитайте документацию для [* 'MODx API: DB: query' *] (http://rtfm.modx.com/evolution/1. 0/developers-guide/api-reference/dbapi/query) –
Я не знаком с вашим классом, но на первый взгляд '$ modx-> db-> INSERT INTO' не будет работать, потому что синтаксис неверен. В именах методов не должно быть пробелов, или вам придется обернуть их в curlies, например '$ modx-> db -> {'INSERT INTO'}'. – techouse
Re: Задание этого вопроса на удержание. Я не согласен с предпосылкой, что у пользователей нет возможности учиться на этом примере. Коррекция кода более осведомленными программистами дает хорошие уроки как для меня (ОП), так и для других пользователей, у которых есть подобные проблемы. Я, например, многому научился из этого единственного упражнения. Спасибо тем, кто внес свой вклад в это в этом посте. – Twobears