php7 и вывод данных помогите разобраться

164
18 октября 2017, 07:32

Добрый день! Делаю некотрые переделки в сайте и не могу разобраться с выводом и работой такого дела как:

(в БД например столбцы text, url)

В файле конфига (напр config.php) я пишу (php 5+):

function Content($url){
    $sql = "SELECT * FROM table WHERE url='$url'";
    $res = mysql_query($sql);
    $result_page = mysql_fetch_assoc($res);
    return $result_page;
}

В файле вывода информации:

include('config.php');  
$row = Content('название_урл');

вывод текста $row['text']

Конечно я могу вывести по ID (например id=2) но у меня есть ряд задач при которых нужно оставить именно таким макаром (например корзина на аяксе так сделана)

Суть вопроса на 7php не работает и хоть тресни. Помогите кто в теме. Заранее спасибо

Код который не работает в 7пхп:

function Content($url){
    $stmt = $db->query("SELECT * FROM table WHERE url='$url'");
    $result_page = $stmt->fetch(PDO::FETCH_ASSOC);
    return $result_page;
}
Answer 1

Основываясь на выложенных файлах.

  1. В db.php в строке 20 отсутствует точка с запятой.
  2. В том же файле, в функции используется переменная $conn из глобального пространства имен.

    $conn = new PDO("mysql:host=$hostdb;dbname=$namedb", $userdb, $passdb);
    $conn->exec("SET CHARACTER SET utf8");       <<<<<<<<<<<<<<<<<<<<<<<
    function selectContent($url){   
        $sql = $conn->query("SELECT * FROM pages WHERE url='$url'");  <<<<<<<<<<<<<<<
        $result_page = $sql->fetch(PDO::FETCH_ASSOC);
        return $result_page;
    }
    

Надо либо передавать ее внутрь функции, либо объявлять внутри, либо использовать global (фу-фу-фу!)

После исправления этих двух ошибок у меня на машине все отработало без проблем.

Answer 2

Если $db это \PDO, то лучше так:

function Content($url){
    $stmt =$pdo->prepare('SELECT * FROM table WHERE url=:url');
    $stmt->execute(array(':url' => $url));
    $result_page = $stmt->fetch(PDO::FETCH_ASSOC);
    return $result_page;
}
READ ALSO
Как получить пароль с запроса mysql?

Как получить пароль с запроса mysql?

Пытаюсь сделать проверку авторизации пользователяДелаю проверка по нику, а потом нужно как то получить пароль и сравнить

168
Как лучше всего передать русский текст по ссылке

Как лучше всего передать русский текст по ссылке

Из прошлого вопроса у меня хорошо получилось отправить и принять кавычки через функцию htmlspecialchars (прописал там где отправлял в ссылке и там...

161
Хранения календаря для маршрута

Хранения календаря для маршрута

Возник вопрос, в хранении расписания-календаря автобусных рейсовЕсть следующие таблици:

122
PHP &ldquo;подвисает&rdquo; при запуске

PHP “подвисает” при запуске

На локалхосте нормально крутятся сайты на PHP+Apache, работает все быстро, но в консоли, с недавних пор, PHP работает странно

128