За последние 24 часа нас посетили 21820 программистов и 1078 роботов. Сейчас ищут 695 программистов ...

Как вынести в функцию PDO sql запрос, что бы после, была возможность ссылаться к элементам функций.

Тема в разделе "PHP для новичков", создана пользователем AzideTenebris, 1 ноя 2018.

Метки:
  1. AzideTenebris

    AzideTenebris Новичок

    С нами с:
    11 янв 2018
    Сообщения:
    3
    Симпатии:
    0
    Написал такой код, но он не работает, я не могу ссылаться к элементам функции
    PHP:
    1. global $connection;
    2. $connection = new PDO('mysql:host=127.0.0.1;dbname=Evangelion',
    3.         'root', '');
    4.  
    5. function executebd($sth,$connection,$sqltext)
    6. {
    7.  
    8.     $sth = $connection->prepare
    9.     ($sqltext);
    10.      $sth->execute();
    11. }
    12.  
    13. global $sqltext;
    14. $sqltext = ("SELECT * FROM posttable ORDER BY id_user DESC LIMIT 1,10");
    15. global $sth;
    16.  
    17. executebd($sth,$connection,$sqltext);
    18.  
    19.  // под следующим кодом я подразумеваю "ссылаться к элементам функции"
    20. $rows = $sth->rowCount();
    21. for ($i=1; $i<$rows; $i++) {
    22.     $row = $sth->fetch(PDO::FETCH_ASSOC);
    23.     $usernamerow=$row['username'];
    24.     $usertextrow= $row['user_text'];
    25.         $deletename=$row['id_user'];
    26.         $editname=$row['id_user']+1;
    27. $getidname=$row['id_user'];
     
  2. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    PHP:
    1. function sql(string $sql) {
    2.  $connection = new PDO('mysql:host=127.0.0.1;dbname=Evangelion', 'root', '');
    3.  return $connection->query($sql);
    4. }
     
  3. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @AzideTenebris, $sth либо надо вернуть из функции, либо передать параметр "по ссылке", либо и в функции объявить как global и не передавать как параметр.
     
    AzideTenebris нравится это.
  4. AzideTenebris

    AzideTenebris Новичок

    С нами с:
    11 янв 2018
    Сообщения:
    3
    Симпатии:
    0
    спс, лучший )