Объектно-ориентированные операторы MySQL, PHP

Пока у меня есть код ниже, который отлично работает при попытке обновить, удалить или выбрать инструкцию. Однако я сталкиваюсь с проблемами, когда пытаюсь использовать вставку. Если бы кто-то мог указать мне правильное направление, я был бы признателен.

private function escape($value)
{
    if (get_magic_quotes_gpc())
        $value = stripslashes($value);
    return mysql_real_escape_string($value, $this->dbConn);
}

/**
 * Handles connection to the database.
 * Die functions are used to catch any errors.
 */
public function connect($dbHost, $dbName, $dbUser, $dbPass)
{
    $this->dbConn = mysql_connect(
        $dbHost,
        $dbUser,
        $dbPass
    ) or die(mysql_error());
    mysql_select_db($dbName, $this->dbConn) or die(mysql_error());
}

/**
 * Loads a raw SQL string into the object $dbSql variable
 */
public function prep($sql)
{
    $this->dbSql = $sql;
}

/**
 * Load bound hooks and values into object variable
 */
public function bind($hook, $value)
{
    $this->dbBind[$hook] = $this->escape($value);

}

/**
 * Runs the SQL string in $dbSql object variable
 */
public function run()
{
    $sql = $this->dbSql;
    if (is_array($this->dbBind))
        foreach($this->dbBind as $hook => $value)
            $sql = str_replace($hook, "'" . $value . "'", $sql);  
    $this->dbQuery = mysql_query($sql) or die(mysql_error());
    $this->dbBind = array();
    return $this->numRows();
}


    // Load SQL statment into object
$MyDB->prep("INSERT INTO `demo` (`id`, `name`, `score`, `dept`, `date`) VALUES '1','James Kablammo', '1205550', 'Marketing', '$date'");
// Bind a value to our :id hook
// Produces: SELECT * FROM demo_table WHERE id = '23'
$MyDB->bind(':id',1);

// Run the query
$MyDB->run();

/ me больше разбирается в том, что делает ваш код, и кричит в агонии.

Kent Fredric 25.11.2008 14:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
1 947
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вероятно, вам также следует заключить значения () в скобки, например:

$MyDB->prep("INSERT INTO `demo` (`id`, `name`, `score`, `dept`, `date`) VALUES ('1','James Kablammo', '1205550', 'Marketing', '$date'"));
Ответ принят как подходящий

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

VALUES ( a , b , c )

Нет

VALUES a, b , c 

Кроме того, почему, черт возьми, вы комбинируете перфорированную вставку с заменой строки?

ты имеешь в виду

$ q-> prepare ("бла-бла-бла ЗНАЧЕНИЯ (: дата и т. д.)");
$ q-> bind (": дата", $ дата);

Или что-то вдоль этих линий. использование обоих методов просто бессмысленно.

Честно говоря, я настолько новичок в OO php, что это больно! Спасибо за помощь!

Drew 25.11.2008 14:27

вы можете проверить документацию по PDO. В противном случае вы вручную повторно реализуете существующие функции.

Kent Fredric 25.11.2008 14:39

Другие вопросы по теме