Diamorph
20.01.2013 - 13:21
Использовать ли такие варианты написания?
mysqli_fetch_array(mysqli_query($db, "запрос");
mysqli_query($db, "запрос + условие в нем(тернарный оператор)");
Может стоит расписывать? Подскажите, или ссылочку дайте где можно почитать.
И использовать ли сам тернарный оператор, когда есть возможность его не использовать?
xlebosol
20.01.2013 - 13:38
Это вопрос личных предпочтений, относящихся к стилю написания кода. Если пишите сами то пишите, что бы это могли понять другие, а если дописываете другой код, то используйте стиль который уже существует для лучшего читаемости кода.
Diamorph
20.01.2013 - 13:49
Видел данные варианты в чужом коде!
Если
mysqli_fetch_array(mysqli_query($db, "запрос");
, мне ещё понятен, то остальные же варианты меня путают просто. Особенно
mysqli_query($db, "запрос + условие в нем(тернарный оператор)");
Игорь_Vasinsky
20.01.2013 - 14:01
Цитата |
mysqli_fetch_array(mysqli_query($db, "запрос"); |
запрос вернул false и всё посыпалось
$sql = "SELECT * FROM .....";
define("DEBUG", true);
...
...
$query = mysqli_query($link, $sql);
if(DEBUG)
echo mysqli_error($link);
else{
}
if(mysqli_num_rows($query)){
while($row = mysqli_fetch_assoc($query)){
}
}
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
20.01.2013 - 14:07
Игорь_Vasinsky, при $query = false, mysqli_num_rows() выдаст критическую ошибку
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
20.01.2013 - 14:09
ну при продакшене error_reporting(0), при отладке E_ALL
при $query === false в mysqli_num_rows ошибка будет скрыта, но продолжение работы с БД будет приостановлено
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
20.01.2013 - 14:15
с дебагом я тоже логики не понял
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinskyесли делать, например, так, то ошибок не будет:
try {
if (!($query = mysqli_query($link, $sql))) {
throw new Exception(mysqli_error($link));
}
if(mysqli_num_rows($query)){
while($row = mysqli_fetch_assoc($query)){
}
}
} catch (Exception$e) {
if(DEBUG)
echo $e->getCode() . ': ' . $e->getMessage();
else{
}
}
Valick
20.01.2013 - 14:20
Цитата |
запрос + условие в нем(тернарный оператор) |
Diamorph, не могли бы вы показать реальный запрос к БД с тренарным оперетором. А то может я плохо учил синтаксис SQL.
___
подозреваю, что тренерный оперетор может там появиться на этапе формирования запроса, но не в самом запросе.
_____________
Стимулятор ~yoomoney - 41001303250491
Valick
20.01.2013 - 14:21
kaww, вы тоже можете мне объяснить вто это?
if(DEBUG)
echo $e->getCode() . ': ' . $e->getMessage();
else{
}
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
20.01.2013 - 14:23
Valickну для последовательной обработки, заменим пожалуй так
if(DEBUG)
die(mysqli_error($link));
Цитата |
с дебагом я тоже логики не понял |
а чё там не понятного? управляем константой
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick, если DEBUG === true, то выводим все ошибки на экран, иначе пишем в лог и ничего не показываем пользователю
Игорь_Vasinsky
20.01.2013 - 14:28
kaww
он любит к мне придираться)))
я книги не читал, а он заядлый букинист.
так я ж тебе предлагаю - конкурс, а в топиках не просто со мной спорить нужно - а предлагать своё решение.
для людей стараемся, а не письками меряемся.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
20.01.2013 - 14:31
Цитата |
а чё там не понятного? управляем константой |
да уже дошло, либо ошибки в браузер либо в логи
просто безапелляционная константа направила мою логику в иное русло.
define("DEBUG", true);
было бы нагляднее
_____________
Стимулятор ~yoomoney - 41001303250491
Valick
20.01.2013 - 14:33
Цитата |
он любит к мне придираться))) |
так в чем проблема, просто не давайте мне повод
_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.