MySQL ломается при добавлении переменнойPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 MySQL ломается при добавлении переменной

Сообщение Anonymous »

Я пытаюсь изменить запрос MySQL (который работает), чтобы вернуть более конкретный результат. Я добавил в оператор переменную, чтобы она искала идентификатор задания и имя пользователя. Добавление $userName в оператор нарушает его.

Я включил приведенный ниже код с тремя вариантами оператора SQL для сравнения. Я уверен, это что-то очевидное - для всех, кроме меня...

Заранее спасибо!

DB



// get all applicants from a User
public function GetAllMyApplications($from=false, $to=false, $user_name)
{
global $db;
$applicants = array();

if ($from >= 0 && $to > 0)
{
$sql_limit = ' LIMIT ' . $from .', ' . $to;
}
else
{
$sql_limit = '';
}

$user_name = "Bob Bobberton"; // reset this var for testing

$sql = 'SELECT * FROM '.DB_PREFIX.'job_applications WHERE job_id = '. $this->mJobId . ' ORDER BY name ASC ' . $sql_limit; // This was the original SQL that worked

$sql = 'SELECT * FROM '.DB_PREFIX.'job_applications WHERE job_id = '. $this->mJobId . ' AND name = ' . $user_name . ' ORDER BY name ASC ' . $sql_limit; // Added "and" $user_name - it breaks

$sql = 'SELECT * FROM '.DB_PREFIX.'job_applications WHERE job_id = '. $this->mJobId . ' AND name = "Bob Bobberton" ORDER BY name ASC ' . $sql_limit; // Replace var with value "Bob Bobberton" and it works

$result = $db->query($sql);
while ($row = $result->fetch_assoc())
{
$applicants[] = array('id' => $row['id'],
'job_id' => $row['job_id'],
'name' => $row['name'],
'email_address' => $row['email_address'],
'message' => str_replace(array("\r\n", "\r", "\n"), "
", $row['message']),
'resume_path' => base64_encode($row['resume_path']),
'created_on' => $row['created_on'],
'ip' => $row['ip']);
}

if (isset($applicants))
{
return $applicants;
}else{
return("");
}
}


Подробнее здесь: https://stackoverflow.com/questions/103 ... ding-a-var
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»