Может ли кто-нибудь помочь мне избежать этих ошибок?
Моя таблица такая же, как в моей базе данных:
Вот мой код:
<?php $bdd=new PDO('mysql:host=localhost;dbname=cmadatabase','root','@Rugby3390', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $reponse= $bdd->query('SELECT IR,Level,Type,ToBeAnalyzed,Supplier, Consequences,Remarks,SUM(Level,Type,Supplier) AS sommeLvlTypeSup FROM andgate GROUP BY IR,Level,Type,ToBeAnalyzed, Supplier,Consequences,Remarks ORDER BY SUM(Level,Type,Supplier) ASC'); while ($donnees = $reponse->fetch()) { echo '<p>'.$donnees['IR'].','.$donnees['Level'].','. $donnees['Type'].','.$donnees['ToBeAnalyzed'].','. $donnees['Supplier'].','.$donnees['Consequences'].','. $donnees['Remarks'].','.$donnees['sommeLvlTypeSup'].'<p>'; } ?>
Большое спасибо
Уровень. Введите эти зарезервированные ключевые слова MySQL. Вы должны их надлежащим образом приложить
<?php try{ $bdd=new PDO('mysql:host=localhost;dbname=cmadatabase','root','@Rugby3390', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $reponse= $bdd->query('SELECT `IR`,`Level`,`Type`,`ToBeAnalyzed`,`Supplier`,`Consequences`,`Remarks`,SUM(`Level`,`Type`,`Supplier`) AS sommeLvlTypeSup FROM andgate GROUP BY `IR`,`Level`,`Type`,`ToBeAnalyzed`,`Supplier`,`Consequences`,`Remarks` ORDER BY SUM(`Level`,`Type`,`Supplier`) ASC'); while ($donnees = $reponse->fetch()) { echo '<p>'.$donnees['IR'].','.$donnees['Level'].','.$donnees['Type'].','.$donnees['ToBeAnalyzed'].','.$donnees['Supplier'].','.$donnees['Consequences'].','.$donnees['Remarks'].','.$donnees['sommeLvlTypeSup'].'<p>'; } } catch(PDOExpection $px) { echo $px->getMessage(); } ?>
Ссылка: https://dev.mysql.com/doc/refman/5.7/ru/keywords.html
1st: псевдоним в order by
предложению ORDER BY sommeLvlTypeSup ASC
2nd: Type
– это mysql keyword
. поэтому попробуйте enclose
backticks
вокруг table name
column
имени table name
try { $bdd=new PDO('mysql:host=localhost;dbname=cmadatabase','root','@Rugby3390'); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $reponse= $bdd->query('SELECT `IR`,`Level`,`Type`,`ToBeAnalyzed`, `Supplier`,`Consequences`,`Remarks`, SUM(`Level`,`Type`,`Supplier`) AS sommeLvlTypeSup FROM `andgate` GROUP BY `IR`,`Level`,`Type`,`ToBeAnalyzed`, `Supplier`,`Consequences`,`Remarks` ORDER BY sommeLvlTypeSup ASC'); while ($donnees = $reponse->fetch()){ echo '<p>'.$donnees['IR'].','.$donnees['Level'].','.$donnees['Type'].','.$donnees['ToBeAnalyzed'].','.$donnees['Supplier'].','.$donnees['Consequences'].','.$donnees['Remarks'].','.$donnees['sommeLvlTypeSup'].'<p>'; } } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage();}