sql >> Databasteknik >  >> RDS >> Mysql

Jag vill infoga data i mysql-databasen med PDO av PHP. Men uppgifterna infogas inte

Du bör lägga till korrekt felhantering så att du vet exakt vad som misslyckas och varför.

Först måste du säga till PDO att göra undantag:

$pdo = new PDO("mysql:host={$dbhost};dbname={$dbname}", $dbuser, $dbpass);
// add this:
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Sedan kan du lägga in dina databasoperationer i ett try - catch blockera:

try
{
  $statement = $pdo->prepare('INSERT INTO arefin (name1,address,city,state,zip_code,telephone,email,fiance,wedding_date,number_of_guest,radio,newspaper,facebook,website,hear_by_other,by_other,date1,status) VALUES (:var1,:var2,:var3,:var4,:var5,:var6,:var7,:var8,:var9,:var10,:var11,:var12,:var13,:var14,:var15,:var16,:var17,:var18)');

  $statement->bindParam(':var1',$name1);
  // etc.

  $statement->execute();
}
catch ( PDOException $exception )
{
    echo "PDO error :" . $exception->getMessage();
}

För långt för en kommentar, men det borde hjälpa till att lösa problemet...



  1. Tidsstämpel med en millisekunds precision:Hur man sparar dem i MySQL

  2. PDO förberedde satsen fetch() som returnerar dubbla resultat

  3. Uppdatera antal kolumn från data i en annan tabell

  4. MySQL - att välja nära en rumslig punkt