Это прикол?

Фанат

oncle terrible
Команда форума
тогда на кой тебе класс?
всё то же самое будет работать и без ООП свистелок.
 

niko42

Новичок
а мануал читай про оператор, который в строчке, на которой ошибка. Какие параметры ему надо передавать вместо тех, которые ты ему передаёшь
PHP:
<?php
    class DBConnect {
        public $pdo;
        private $host ='localhost';
        private $dbname = 'l2db';
        private $user = 'root';
        private $pass = '';
        public function __construct(){
            $this->pdo = new PDO("mysql:host=$this->host;dbname=$this->dbname", $this->user, $this->pass);
        }
        public function setInsert(){
            $db = $this->pdo;
            $db->execute("INSERT INTO `l2db`.`acount` (`ID`, `eml`, `password`, `name`, `ban`, `IP`)
                                VALUES (NULL, '[email protected]', 'gd4fhrer', '2323423', NULL, '129.1.4.3')");
        }
    }
$db = new DBConnect();
$db->setInsert();
?>
PHP:
Fatal error: Call to undefined method PDO::execute() in V:\home\test2.ru\www\class\DBConnect.class.php on line 13
Это как ?=))
 

niko42

Новичок
ТУПОООООООООООООООООООООООООООООООООО
PHP:
<?php
    class DBConnect {
        public $pdo;
        private $host ='localhost';
        private $dbname = 'l2db';
        private $user = 'root';
        private $pass = '';
        public function __construct(){
            $this->pdo = new PDO("mysql:host=$this->host;dbname=$this->dbname", $this->user, $this->pass);
        }
        public function setInsert(){
            $db = $this->pdo->prepare("INSERT INTO `l2db`.`acount` (`ID`, `eml`, `password`, `name`, `ban`, `IP`)
                                VALUES (NULL, ?, ?, ?, NULL, ?)");
            $db->execute(array('[email protected]', 'safasf', 'asggg', '124.2.2.1'));
            return;
        }
    }
$db = new DBConnect();
$db->setInsert();
?>
Я фигею, хуже не придемуаешь.
prepare()- ставим вопросики, куда записать=)))
execute() - передаем массив

Тупость ужасная...
P.S. код рабочий.

Фанат - Спасибо за помощь!
 

Фанат

oncle terrible
Команда форума
тупость, конечно. куда умнее все пихать в одну кучу, не разбирая, где у тебя запрос. а где данные, и огребать инъекций полную панамку.
 

fixxxer

К.О.
Партнер клуба
Не надо про джаву тут заливать только. В JDBC prepared statements точно такие же, абсолютно. Сдается мне, что джаву ты максимум видел через плечо соседа, и там был System.out.println("Hello World").
 

niko42

Новичок
Не надо про джаву тут заливать только. В JDBC prepared statements точно такие же, абсолютно. Сдается мне, что джаву ты максимум видел через плечо соседа, и там был System.out.println("Hello World").
дядя - вот тебе запросик в java
PHP:
String query = "SELECT " + ret_field + " FROM `" + table + "` WHERE " + where + " LIMIT 1;";
А не тупость, с вопросиками.
 

Вурдалак

Продвинутый новичок
niko42, судя по всему, твои знания Java действительно на уровне "Hello, world!" (да и не только Java).
 

fixxxer

К.О.
Партнер клуба
занес в закладки, буду показывать джавистам, которые утверждают, что у них-то вот, дескать, не какой-то там похапе, и все хорошо и не бывает проблем с sql injections
 

niko42

Новичок
Вы вообще о чем ?
Я о синтаксе кода:
это
PHP:
prepare("INSERT INTO `l2db`.`acount` (`ID`, `eml`, `password`, `name`, `ban`, `IP`)
                                VALUES (NULL, ?, ?, ?, NULL, ?)");
и это
PHP:
String query = "SELECT " + ret_field + " FROM `" + table + "` WHERE " + where + " LIMIT 1;";
моразм в вопросиках....

Если Вы судите уже по строению кода, то как минемум бы я написал так:
PHP:
class DBAcsess
{
    private $pdo;
    private $host ='localhost';
    private $dbname = 'l2db';
    private $user = 'root';
    private $pass = '';

    public function __construct(){
        $this->pdo = new PDO("mysql:host=$this->host;dbname=$this->dbname", $this->user, $this->pass);
    }

    public function setInsertAcount($eml, $pass, $name, $ip){
        trim($eml, $pass, $name, $ip)
       if($eml, $pass, $name, $ip)
и т.д.
        $db = $this->pdo->prepare("INSERT INTO `l2db`.`acount` (`ID`, `eml`, `password`, `name`, `ban`, `IP`)
                                VALUES (NULL, ?, ?, ?, NULL, ?)");
        try{
            if(!$db->execute(array($eml, $pass, $name, $ip)))throw new PDOException;
        }catch(PDOException $e){
            echo "error";
        }

    }
}
 

fixxxer

К.О.
Партнер клуба
>>if(!$db->execute(array($eml, $pass, $name, $ip)))throw new PDOException;
лол
 
  • Like
Реакции: scb
Сверху