Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 面向对象的MySQL语句_Php_Mysql_Oop - Fatal编程技术网

Php 面向对象的MySQL语句

Php 面向对象的MySQL语句,php,mysql,oop,Php,Mysql,Oop,到目前为止,我已经得到了下面的代码,在尝试更新、删除或选择语句时,这些代码非常有用。但是,当我尝试使用insert时遇到了问题。如果有人能给我指出正确的方向,我将不胜感激 private function escape($value) { if(get_magic_quotes_gpc()) $value = stripslashes($value); return mysql_real_escape_string($value, $this->dbConn

到目前为止,我已经得到了下面的代码,在尝试更新、删除或选择语句时,这些代码非常有用。但是,当我尝试使用insert时遇到了问题。如果有人能给我指出正确的方向,我将不胜感激

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();

您可能也应该将values()包装在paren中,例如:

$MyDB->prep("INSERT INTO `demo` (`id`, `name`, `score`, `dept`, `date`) VALUES ('1','James Kablammo', '1205550', 'Marketing', '$date'"));

您可能也应该将values()包装在paren中,例如:

$MyDB->prep("INSERT INTO `demo` (`id`, `name`, `score`, `dept`, `date`) VALUES ('1','James Kablammo', '1205550', 'Marketing', '$date'"));

首先使用有效的insert语句可能会有所帮助

VALUES ( a , b , c )
不是

另外,为什么狄更斯家要把插入和字符串替换结合起来

你是说

$q->prep(“诸如此类的值(:日期等)”
$q->bind(“:date”,$date)


或者类似的东西。使用这两种技术都是毫无意义的

首先使用有效的insert语句可能会有所帮助

VALUES ( a , b , c )
不是

另外,为什么狄更斯家要把插入和字符串替换结合起来

你是说

$q->prep(“诸如此类的值(:日期等)”
$q->bind(“:date”,$date)


或者类似的东西。使用这两种技术都是毫无意义的

/me更了解您的代码所做的事情,并痛苦地尖叫。/me更了解您的代码所做的事情,并痛苦地尖叫。老实说,我对OO php是如此陌生,以至于很痛苦!谢谢你的帮助!您可能想查看PDO上的文档。否则,你是在手工重新实现现有的功能。老实说,我对OO php太陌生了,这让我很伤心!谢谢你的帮助!您可能想查看PDO上的文档。否则,您将手动重新实现现有功能。