Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да отстраня грешките защо най-простата MySQL заявка връща false?

Задължителна актуализация :тъй като mysql ext вече не е, ето отговори за два оставащи MySQL API, които написах на моя сайт въз основа на опита от отговарянето на въпроси от 1000s в Stack Overflow:

Накратко, за mysqi следният ред трябва да се добави преди mysqli_connect() обадете се:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

докато за PDO трябва да се настрои правилният режим на грешка, например

$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

От стария mysql ext,

За да получите грешка от mysql_query() трябва да използвате mysql_error() функция.
Така че винаги изпълнявайте всичките си заявки по този начин, поне докато не разработите по-усъвършенстван манипулатор на заявки:

$query = "SELECT * FROM 'users'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);

проблемът с текущата ви заявка е 'users' част. Единични кавички трябва да се използват за разделяне на низове, докато за идентификаторите трябва да използвате обратни тикчета:

SELECT * FROM `users`

За да видите тези грешки по време на разработката, добавете тези редове в горната част на кода си, за да сте сигурни, че можете да видите всяка възникнала грешка

ini_set('display_errors',1);
error_reporting(E_ALL);

на производствения сървър обаче стойността на първия ред трябва да се промени от 1 на 0



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Правилно използване на php mysqli autocommit и rollback

  2. Как да направите броене на заявка за съюз

  3. Как да изчислим общите продажби на месец в MySQL?

  4. 4 начина за изброяване на всички изгледи в MySQL

  5. MySQL, Вземете потребителски ранг