ewe 2e¶ CoЛнЫшКоcBeTиТоЧеНЬяРкО*
Высший разум
(307088)
4 года назад
Все эти функции $pdo->prepare(), $sql->execute() и т. п. выдают некий результат, который бы вам по хорошему надо проверять.
Потому как внезапно нет 100% гарантии, что база подключится, что выборка выберется, что сортировка отсортирует. То, что оно обычно у вас в компе получается, не означает, что так будет всегда.
Всегда проверяйте результат функции - сравнивайте его с false, и если оно этому равно, то значит при выполнении этой функции что-то произошло и она не исполнилась так, как вам хочется.
Только если оно !==false, вам можно что-то там дальше продолжать делать с данными.
Nikolay KondaurovМастер (2487)
4 года назад
свежак дописал проверку
...
if ($sql->execute(array(':id_tur' => $infa[0], ':player' => $playars[$j]))){$flag=true;} else {$flag=false;}
$row = $sql->fetch();
...
как мне правильно записать название колонки?
$row['tur_1'] - это нормальное имя но имя колонки меняется в цикле
$tur=$i+1;
$new_tur='tur_'.$tur;
поэтому когда я пишу $row['$new_tur'] он не понимает такое
переменная $new_tur содержит в себе название колонки то есть tur_0..tur_1.. и тд.
в этих колонках результаты личных встреч их я суммирую. и обновляю колонку ochki
у меня не получается, всмысле ошибку не выдает но колонка не обновляется все это из за
if ($row['$new_tur'] он не понимает этого если написать так $row['tur_1'] то он для 1 тура вытянет данные... надеюсь доступно мыслю разяснил
for ($j=0;$j<(int)$infa[2];$j++)
{
for ($i=0;$i<(int)$infa[1];$i++)
{
$tur=$i+1;
$new_tur='tur_'.$tur; // текущий тур
require_once $_SERVER['DOCUMENT_ROOT'].'/bd.php';
$sql = $pdo->prepare("SELECT `".$new_tur."` FROM `My_BD`.`main_turnirs` WHERE `id_tur`= :id_tur AND `player`= :player");
$sql->execute(array(':id_tur' => $infa[0], ':player' => $playars[$j]));
$row = $sql->fetch();
if ($row['$new_tur']=='1'){$oci[j]=$oci[j]+1;}
if ($row['$new_tur']=='0.5'){$oci[j]=$oci[j]+0.5;}
}
//обновляю количество набранных очков для данного игрока
require_once $_SERVER['DOCUMENT_ROOT'].'/bd.php';
$sql = $pdo->prepare ("UPDATE `My_BD`.`main_turnirs` SET `ochki` = :ochki WHERE `id_tur` = :id_tur AND `player` = :player");
$sql->execute(array(':ochki' => $oci[j], ':id_tur' => $infa[0], ':player' => $playars[$j]));
}