<?php
class DB {
public static $mysqli;
private $connect = true;
private $_instance = null;
private function __construct() {
if ($this->connect) {
$mysqli = new mysqli($this->host, $this->user, $this->password, $this->db);
$mysqli->set_charset("utf8");
$this->mysqli = $mysqli;
$this->connect = false;
}
}
private function __clone(){}
public static function init(){
if($_instance === null){
self::$_instance = new self();
}
return self::$instance;
}
}
mysql_select_db('name database')
и используйте mysqli или pdo<?php // smartytest.php
$path = $_SERVER['DOCUMENT_ROOT'];
require "$path/Smarty/Smarty.class.php";
$smarty = new Smarty();
$smarty->template_dir = "$path/temp/smarty/templates";
$smarty->compile_dir = "$path/temp/smarty/templates_c";
$smarty->cache_dir = "$path/temp/smarty/cache";
$smarty->config_dir = "$path/temp/smarty/configs";
require_once("$path/temp/login.php");
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
mysql_select_db('Имя вашей БД',$db_server)
if (!$db_server) die("Невозможно подключиться к MySQL: " . mysql_error());
if (isset($_POST['delete']) && get_post('isbn') != "")
{
$isbn = get_post('isbn');
$query = "DELETE FROM classics WHERE isbn='$isbn'";
if (!mysql_query($query))
{
echo "Сбой при удалении данных: $query<br>" . mysql_error() . "<p>";
}
}
else
if (isset($_POST['author']) &&
isset($_POST['title']) &&
isset($_POST['category']) &&
isset($_POST['year']) &&
isset($_POST['isbn']))
{
$author = get_post('author');
$title = get_post('title');
$category = get_post('category');
$year = get_post('year');
$isbn = get_post('isbn');
{
$query = "INSERT INTO classics VALUES" . "('$author', '$title', '$category', '$year', '$isbn')";
if (!mysql_query($query))
{
echo "Сбой при вставке данных: $query<br>" . mysql_error() . "<p>";
}
}
}
$query = "SELECT * FROM classics";
$result = mysql_query($query);
if (!$result) die("Сбой при доступе к базе данных: " . mysql_error());
$rows = mysql_num_rows($result);
for ($j = 0 ; $j < $rows ; ++$j)
{
$results[] = mysql_fetch_array($result);
}
mysql_close($db_server);
$smarty->assign('results', $results);
$smarty->display("$path/temp/smartytest.tpl");
function get_post($var)
{
return mysql_real_escape_string($_POST[$var]);
}
?>
CREATE TABLE `users` (`ID` char(255) not null, `username` char(255), `Page` char(255), `Class` char(255),`Top` float,`Left` float, PRIMARY KEY(`ID`))
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="" method="POST">
<input type="text" name="user">
<input type="submit" value="submit">
<?php
$user = $_POST['user'];
$w = "CREATE TABLE `".$user."` (`ID` char(255) not null, `Page` char(255), `Class` char(255),`Top` float,`Left` float, PRIMARY KEY(`ID`))";
$link = mysql_connect('localhost', 'root', '');
mysql_select_db('test-new',$link);
echo mysql_query($w);
?>
</form>
</body>
</html>
<?php
class QueryDB extends PDO{
private static $_instance = null;
private function __construct ($host, $dbname, $username, $pass) {
parent::__construct('mysql:host=' . $host . ';dbname=' . $dbname, $username, $pass);
}
private function __clone(){}
public static function getInstance($configDB){
if (self::$_instance === null) {
self::$_instance = new self($configDB['host'],$configDB['db'],$configDB['user'], $configDB['pass']);
}else{
return self::$_instance;
}
}
protected function getDbObject(){
return $this->_instance;
}
public function select ($query='', $Parametrs=null) {
$pdo = $this->getDbObject();
$sth = $pdo->prepare($query);
if ($sth->execute($Parametrs)) {
return $sth->fetchAll(PDO::FETCH_ASSOC);
}else{
throw new Exception('Запрос не выполнен');
}
}
public function insert($table='', $fields=array()) {
$pdo = $this->getDbObject();
// для наглядности вообще так делать не стоит
$values = 'VAlUES(';
$keys = '(';
foreach($fields as $key=>$val){
$values .=$val . ',';
$keys .=$key . ',';
}
trim($values,',');
$values .= ')';
trim($keys,',');
$keys .= ')';
// конец лапшы
$sth = $pdo->prepare('INSERT INTO `'.$table.'` '. $keys. ' ' .$values );
return $sth->execute();
}
}
P.S.учитесь гуглить !!!
взято здесь
Эти ошибки будут также выдаваться при посылке серверу неверного или слишком длинного запроса. Если mysqld получает неправильный или слишком большой пакет, то сервер предполагает, что с клиентом что-то не так, и закрывает соединение. Если необходимо выполнять объемные запросы (например, при работе с большими столбцами типа BLOB), можно увеличить предельный размер запроса, запустив mysqld с опцией -O max_allowed_packet=# (по умолчанию 1 Mб). Дополнительная память выделяется по требованию, так что mysqld будет использовать больше памяти только в случае, когда выдан большой запрос или когда mysqld должен возвратить большую строку результата!