Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Не все программисты в мире используют ZF, есть еще Doctrine, Propel и сотни менее популярных проектов. Вы хотите вникать в каждый из них при переключении с проекта на проект?
в результате чего программист теряет контроль над кодом.
Понятное дело, что недостающий функционал придется дописывать, в том случае, если он не стандартен, но существующий функционал вы можете комбинировать как угодно.
$ok = $this->link = @mysql_connect$app = new App();
$request = new Request();
$response = $app->handleRequest($request);
$response->send(); то изменения не такие уж и большие нужно будет вносить.SELECT * FROM users WHERE id = :id, а другие запрашивают его со своим значением id, а СУБД не тратит при каждом запросе время на парсинг запроса. Есть подозрения, что без изменения pdo/mysqlnd такую схему для mysql не реализовать.






$driver_options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET names = 'utf-8', lc_time_names = 'ru_RU',time_zone = 'Europe/Moscow'");
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass, $driver_options);
$data = array( 'id_user' => $id_user, 'visit_date' => 'NOW()' );
$STH = $DBH->("INSERT INTO `auth_logs` (id_user, visit_date) VALUES (:id_user, :visit_date)");
$STH->execute($data);
$data = array( 'id_user' => $id_user );
$STH = $DBH->("INSERT INTO `auth_logs` (id_user, visit_date) VALUES (:id_user, NOW())");
$STH->execute($data);
$vote = (int) $_POST['vote'];
$id_user = (int) $_POST['id_user'];
// классический вариант без PDO
$sql = "UPDATE `photo_votes` SET `vote` = `vote`+" . $vote . " WHERE `id_user` = '" . $id_user . "' ";
$result = mysql_query($sql);
# mysql
mysql> PREPARE stmt1 FROM 'SELECT ? AS `title`';
mysql> set @title = "--''''''''!@#$%^&*()_+////\"\\";
mysql> EXECUTE stmt1 USING @title;
+------------------------------+
| title |
+------------------------------+
| --''''''''!@#$%^&*()_+////"\ |
+------------------------------+
1 row in set (0.00 sec)
mysql> set @title = "\"";
«An array of values with as many elements as there are bound parameters in the SQL statement being executed. All values are treated as PDO::PARAM_STR.»
$user_id = $_GET['u'];
$user_ip = $_SERVER['REMOTE_ADDR'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$STH = $DBH->prepare("UPDATE `auth_login` SET `hash` = SHA1(CONCAT(`salt`), '".$user_ip."', '".$DBH->quote($user_agent)."') WHERE `id_user` = :id_user");
$STH->bindValue(':id_user', $user_id, PDO::PARAM_INT);
$db->update( 'auth_login', array( 'hash' => '(SHA1( CONCAT(`salt`, '".$user_ip."', '".$db->quote($user_agent)."') ))' ) );
$STH->bindValue(':hash', 'SHA1( CONCAT(`salt`, '".$user_ip."', '".$DBH->quote($user_agent)."') )', PDO::PARAM_EXPR);
Почему стоит пользоваться PDO для работы с базой данных