Обучение/Помощь новичкам | Mysqli и Pdo
Тема закрыта by
SlavaLegend [!]
SlavaLegend (28.05.2018 в 14:05)
А как сделать подключение к бд на PDO?
А как сделать подключение к бд на PDO?
Смотря как писать будешь, в процедурном стиле или на ООП
SlavaLegend ,
________
посл. ред. 28.05.2018 в 14:41; всего 1 раз(а); by TuT
<?
//пример подключения с константой и запросы в процедурном стиле
define('HOST', 'localhost'); // сервер
define('NAME', ''); // имя базы
define('USER', ''); // пользователь
define('PASS', ''); // пароль
$pdo = new PDO("mysql:host=".HOST.";dbname=".NAME.";charset=UTF8", USER, PASS);
$pdo->query('SET NAMES utf8');
///запрос UPDATE
$pdo->prepare("UPDATE `mails` SET `sms` = ? WHERE `id` = ?")->execute(array($sms,$mail['id']));
//запрос SELECT
$message = $pdo->query("SELECT * FROM `mails` WHERE `id` = '".$mail['id']."'")->fetch();
//тот же запрос SELECT на mysql
$message = mysql_fetch_array(mysql_query("SELECT * FROM `mails` WHERE `id` = '".$mail['id']."'"));
________
посл. ред. 28.05.2018 в 14:41; всего 1 раз(а); by TuT
а что этот сайт создан для помощи или для того чтобы в гугл посылать?!
в основном pdo используют для api , для интеграции с другой базой, если оно тебе надо, то пожалуйста за учебники, mysql устарела , mysqli быстрее pdo
в основном pdo используют для api , для интеграции с другой базой, если оно тебе надо, то пожалуйста за учебники, mysql устарела , mysqli быстрее pdo
faceworld ,
Как этот код будет языком mysqli? С меня +
<?php
include_once("files/zag.php");
include_once("files/pdo.php");
$polz=mysql_query("SELECT * FROM `users` WHERE `udata0`='$log' AND `udata1`='$pas' LIMIT 1");
if(mysql_num_rows($polz)==0){
header ("Location: index.php?error");
echo'<div class="p">Ошибка! Пользователь с таким логином и паролем не зарегистрирован, или пароль/логин неверен! <a href="index.php">На главную</a><br>';exit;
}else{
switch($go) {
default:
/*$ud11 = mysql_query("SELECT * from `magrub` LIMIT 1");
*/
$ud11=$db->fetchAll("SELECT * FROM `magrub` LIMIT 1 ");
foreach($ud11 as $udopit)
/*$udopit=mysql_fetch_array($ud11);
*/
$lvlud2=$udopit[lvl2];
$lvlud3=$udopit[lvl3];
$lvlud4=$udopit[lvl4];
/*$qqq=mysql_query("SELECT * FROM `fishuda` WHERE `usr`='$log' LIMIT 1");
while($fishuda=mysql_fetch_assoc($qqq)){
*/
$qqq=$db->fetchAll("SELECT * FROM `fishuda` WHERE `usr`='$log' LIMIT 1");
foreach($qqq as $fishuda)
if($fishuda[lvl]==1){ $lvlopit=$lvlud2-$fishuda[opit];}
if($fishuda[lvl]==2){ $lvlopit=$lvlud3-$fishuda[opit];}
if($fishuda[lvl]==3){ $lvlopit=$lvlud4-$fishuda[opit];}
if($fishuda[lvl]==4){ $lvlopit="Максимальный уровень";}
if($fishuda[lvl]==1){ $shans="от 100 до 200 рыб.";}
if($fishuda[lvl]==2){ $shans="от 200 до 250 рыб.";}
if($fishuda[lvl]==3){ $shans="от 250 до 300 рыб.";}
if($fishuda[lvl]==4){ $shans="от 300 до 350 рыб.";}
echo" <font color=grey>Удочка:</font> <font color=yellow> $fishuda[uda]</font> <br><font color=grey> Уровень:</font> <font color=yellow>$fishuda[lvl]</font><br><font color=grey> Опыт рыбака: </font><font color=yellow>$fishuda[opit]</font> <br> <font color=grey>До след уровня:</font><font color=yellow> $lvlopit</font><br> <font color=grey>Шанс выпадения:</font> <font color=yellow>$shans</font><br>";
$pppp=mysql_query("SELECT * FROM `fishuda` WHERE `usr`='$log' AND `lvl`='4' LIMIT 1");
if(mysql_num_rows($pppp)==0){
echo"<center><a href=\"infooz.php?&go=lvlup\">Поднять Уровень</center></a><center>---</center>";
}
echo"<center><a href=\"lake.php?\">Назад на озеро</center></a>";
/*}*/
include_once("files/down.php");
break;
case 'lvlup':
$ud222 = mysql_query("SELECT * from `fishuda` WHERE `usr`='$log' LIMIT 1");
$fishuda=mysql_fetch_array($ud222);
$myop=$fishuda[opit];
$lvluda=$fishuda[lvl];
$ud1111 = mysql_query("SELECT * from `magrub` LIMIT 1");
$uplvl=mysql_fetch_array($ud1111);
$lvlup2=$uplvl[lvl2];
$lvlup3=$uplvl[lvl3];
$lvlup4=$uplvl[lvl4];
if($lvluda==1 and $myop<"$lvlup2"){ echo"Недостаточно опыта.<br/>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($lvluda==2 and $myop<"$lvlup3"){ echo"Недостаточно опыта.<br/>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($lvluda==3 and $myop<"$lvlup4"){ echo"Недостаточно опыта.<br/>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($lvluda==4){ echo"У вас максимальный уровень удочки.<br/>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($fishuda[lvl]==1 and $myop>="$lvlup2"){
$myop=$myop-$lvlup2;
$lvluda=$fishuda[lvl]+1;
mysql_query("UPDATE `fishuda` SET `lvl`='$lvluda' WHERE `usr`='$log'");
mysql_query("UPDATE `fishuda` SET `opit`='$myop' WHERE `usr`='$log'");
echo" Поздравляю теперь уровень вашей удочки $lvluda<br>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($fishuda[lvl]==2 and $myop>="$lvlup3"){
$myop=$myop-$lvlup3;
$lvluda=$fishuda[lvl]+1;
mysql_query("UPDATE `fishuda` SET `lvl`='$lvluda' WHERE `usr`='$log'");
mysql_query("UPDATE `fishuda` SET `opit`='$myop' WHERE `usr`='$log'");
echo" Поздравляю теперь уровень вашей удочки $lvluda<br>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($fishuda[lvl]==3 and $myop>="$lvlup4"){
$myop=$myop-$lvlup4;
$lvluda=$fishuda[lvl]+1;
mysql_query("UPDATE `fishuda` SET `lvl`='$lvluda' WHERE `usr`='$log'");
mysql_query("UPDATE `fishuda` SET `opit`='$myop' WHERE `usr`='$log'");
echo" Поздравляю теперь уровень вашей удочки $lvluda<br>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
include_once("files/down.php");
break;
}}
?>
Как этот код будет языком mysqli? С меня +
<?php
include_once("files/zag.php");
include_once("files/pdo.php");
$polz=mysql_query("SELECT * FROM `users` WHERE `udata0`='$log' AND `udata1`='$pas' LIMIT 1");
if(mysql_num_rows($polz)==0){
header ("Location: index.php?error");
echo'<div class="p">Ошибка! Пользователь с таким логином и паролем не зарегистрирован, или пароль/логин неверен! <a href="index.php">На главную</a><br>';exit;
}else{
switch($go) {
default:
/*$ud11 = mysql_query("SELECT * from `magrub` LIMIT 1");
*/
$ud11=$db->fetchAll("SELECT * FROM `magrub` LIMIT 1 ");
foreach($ud11 as $udopit)
/*$udopit=mysql_fetch_array($ud11);
*/
$lvlud2=$udopit[lvl2];
$lvlud3=$udopit[lvl3];
$lvlud4=$udopit[lvl4];
/*$qqq=mysql_query("SELECT * FROM `fishuda` WHERE `usr`='$log' LIMIT 1");
while($fishuda=mysql_fetch_assoc($qqq)){
*/
$qqq=$db->fetchAll("SELECT * FROM `fishuda` WHERE `usr`='$log' LIMIT 1");
foreach($qqq as $fishuda)
if($fishuda[lvl]==1){ $lvlopit=$lvlud2-$fishuda[opit];}
if($fishuda[lvl]==2){ $lvlopit=$lvlud3-$fishuda[opit];}
if($fishuda[lvl]==3){ $lvlopit=$lvlud4-$fishuda[opit];}
if($fishuda[lvl]==4){ $lvlopit="Максимальный уровень";}
if($fishuda[lvl]==1){ $shans="от 100 до 200 рыб.";}
if($fishuda[lvl]==2){ $shans="от 200 до 250 рыб.";}
if($fishuda[lvl]==3){ $shans="от 250 до 300 рыб.";}
if($fishuda[lvl]==4){ $shans="от 300 до 350 рыб.";}
echo" <font color=grey>Удочка:</font> <font color=yellow> $fishuda[uda]</font> <br><font color=grey> Уровень:</font> <font color=yellow>$fishuda[lvl]</font><br><font color=grey> Опыт рыбака: </font><font color=yellow>$fishuda[opit]</font> <br> <font color=grey>До след уровня:</font><font color=yellow> $lvlopit</font><br> <font color=grey>Шанс выпадения:</font> <font color=yellow>$shans</font><br>";
$pppp=mysql_query("SELECT * FROM `fishuda` WHERE `usr`='$log' AND `lvl`='4' LIMIT 1");
if(mysql_num_rows($pppp)==0){
echo"<center><a href=\"infooz.php?&go=lvlup\">Поднять Уровень</center></a><center>---</center>";
}
echo"<center><a href=\"lake.php?\">Назад на озеро</center></a>";
/*}*/
include_once("files/down.php");
break;
case 'lvlup':
$ud222 = mysql_query("SELECT * from `fishuda` WHERE `usr`='$log' LIMIT 1");
$fishuda=mysql_fetch_array($ud222);
$myop=$fishuda[opit];
$lvluda=$fishuda[lvl];
$ud1111 = mysql_query("SELECT * from `magrub` LIMIT 1");
$uplvl=mysql_fetch_array($ud1111);
$lvlup2=$uplvl[lvl2];
$lvlup3=$uplvl[lvl3];
$lvlup4=$uplvl[lvl4];
if($lvluda==1 and $myop<"$lvlup2"){ echo"Недостаточно опыта.<br/>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($lvluda==2 and $myop<"$lvlup3"){ echo"Недостаточно опыта.<br/>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($lvluda==3 and $myop<"$lvlup4"){ echo"Недостаточно опыта.<br/>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($lvluda==4){ echo"У вас максимальный уровень удочки.<br/>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($fishuda[lvl]==1 and $myop>="$lvlup2"){
$myop=$myop-$lvlup2;
$lvluda=$fishuda[lvl]+1;
mysql_query("UPDATE `fishuda` SET `lvl`='$lvluda' WHERE `usr`='$log'");
mysql_query("UPDATE `fishuda` SET `opit`='$myop' WHERE `usr`='$log'");
echo" Поздравляю теперь уровень вашей удочки $lvluda<br>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($fishuda[lvl]==2 and $myop>="$lvlup3"){
$myop=$myop-$lvlup3;
$lvluda=$fishuda[lvl]+1;
mysql_query("UPDATE `fishuda` SET `lvl`='$lvluda' WHERE `usr`='$log'");
mysql_query("UPDATE `fishuda` SET `opit`='$myop' WHERE `usr`='$log'");
echo" Поздравляю теперь уровень вашей удочки $lvluda<br>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
if($fishuda[lvl]==3 and $myop>="$lvlup4"){
$myop=$myop-$lvlup4;
$lvluda=$fishuda[lvl]+1;
mysql_query("UPDATE `fishuda` SET `lvl`='$lvluda' WHERE `usr`='$log'");
mysql_query("UPDATE `fishuda` SET `opit`='$myop' WHERE `usr`='$log'");
echo" Поздравляю теперь уровень вашей удочки $lvluda<br>";
echo"<a href=\"infooz.php?\">Назад</a>";
include_once("files/down.php"); exit;
}
include_once("files/down.php");
break;
}}
?>
SlavaLegend , Юзай PDO
TuT ,
Можешь перевести код сверху на pdo? Мне просто для изучения нужен живой пример
Можешь перевести код сверху на pdo? Мне просто для изучения нужен живой пример
faceworld (28.05.2018 в 14:47)
а что этот сайт создан для помощи или для того чтобы в гугл посылать?!
в основном pdo используют для api , для интеграции с другой базой, если оно тебе надо, то пожалуйста за учебники, mysql устарела , mysqli быстрее pdo
а что этот сайт создан для помощи или для того чтобы в гугл посылать?!
в основном pdo используют для api , для интеграции с другой базой, если оно тебе надо, то пожалуйста за учебники, mysql устарела , mysqli быстрее pdo
Чего чего быстрее? От куда такая информация? Что mysqli быстрее pdo???
Время обработки UPDATE в mysqli на 1000 запросов 0.3770 сек.
Время обработки UPDATE в PDO на 1000 запросов 0.2000 сек.
Тестировалось на Denwer, разброс в принципе разный, но различия фактически нет.
________
посл. ред. 28.05.2018 в 15:05; всего 1 раз(а); by TuT
SlavaLegend , У тебя там не понятно что написано.
TuT , это ты за update говоришь , а за обращение к api что скажешь?
SlavaLegend , нет, это обычный mysql в принципе