Неизвестный столбец «this» в «предложении where» - PullRequest
0 голосов
/ 06 октября 2018

Я изо всех сил старался найти ответ на мои вопросы в предыдущих темах, но просто не могу найти то, что мне нужно, у меня есть функция в моем документе php, которая обновляет столбец (follow (varchar)) в таблице пользователейс предопределенной переменной, когда a_username совпадает с sessionnaeme, однако эта функция возвращает ошибку «Неизвестный столбец this» в «where clause» », это макет таблицы: Структура таблицы Я новичок вphp, поэтому любая помощь будет высоко ценится!(извините, если вопрос неясен, пожалуйста, задавайте любые вопросы, которые могут у вас возникнуть) Функция php ниже.Большое спасибо заранее !!

<?php
if(isset($_POST['submit'])) {
    $sessionname = $_SESSION['user'];
    $follow = mysqli_real_escape_string($conn, $_POST['addedname']);
    $sql = "UPDATE users SET follow =" .$follow. " WHERE a_username =".$sessionname."";
    $result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
    if($result !== false) {
        header("Location: ./Profile.php?Follow=success");            
        exit;
    } else {
             echo "Fail";
            }
}
?>

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Вот как это сделать, используя связанные параметры в MySqli.

$query = "UPDATE users SET follow = ? WHERE a_username = ?";

 $stmt = $conn->prepare($query);
 $stmt->bind_param("ss", $_POST['addedname'], $_SESSION['user']);
 $stmt->execute();
 $result = $stmt->get_result();

 if(!$result->num_rows === 0){

   header("Location: ./Profile.php?Follow=success");            
   exit;

 } else {

   echo 'Fail';

 }

 $stmt->close();

Вот отличное руководство для начинающих по параметризованным запросам, использующим MySqli.Добавьте эту ссылку в закладки и обращайтесь к ней часто. Предотвратить SQl инъекции

0 голосов
/ 06 октября 2018

для строковых значений вы должны использовать кавычки вокруг значений

 $sql = "UPDATE users SET follow ='" .$follow. "' WHERE a_username ='".$sessionname."';";

В любом случае вам следует избегать PHP-переменных в SQL.Вы подвержены риску внедрения SQL-кода. Вы должны посмотреть, как ваш менеджер драйверов SQL подготовил вместо этого оператор и параметр связывания

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...