bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


pdo

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
pdo [2024/11/15 14:27]
enric_mieza_sanchez creat
pdo [2024/11/15 15:17] (actual)
enric_mieza_sanchez [Introducció]
Línia 6: Línia 6:
  
  
-Articles relacionats:+Articles relacionats en aquesta wiki:
   * [[PHP MySQL]]   * [[PHP MySQL]]
   * [[Fites DAW MP07 UF3]]   * [[Fites DAW MP07 UF3]]
 +  * [[SQL injection]]
  
  
Línia 20: Línia 21:
   try {   try {
     $hostname = "localhost";     $hostname = "localhost";
-    $dbname = "acces_dades"; +    $dbname = "mundo"; 
-    $username = "u_acces_dades"; +    $username = "admin"; 
-    $pw = "i";+    $pw = "admin123";
     $pdo = new PDO ("mysql:host=$hostname;dbname=$dbname","$username","$pw");     $pdo = new PDO ("mysql:host=$hostname;dbname=$dbname","$username","$pw");
   } catch (PDOException $e) {   } catch (PDOException $e) {
-    echo "Failed to get DB handle: " . $e->getMessage() . "\n";+    // obtenim missatge d'error de l'excepció llançada 
 +    echo "Error connectant a la BD: " . $e->getMessage() . "<br>\n";
     exit;     exit;
   }   }
      
-  //preparem i executem la consulta +  try { 
-  $query = $pdo->prepare("select iFROM prova"); +    //preparem i executem la consulta 
-  $query->execute(); +    $query = $pdo->prepare("SELECT name,code FROM country"); 
-   +    $query->execute(); 
-  //comprovo errors+  } catch (PDOException $e) { 
-  $e= $query->errorInfo(); +    // alternativaobtenim missatge d'error de $query 
-  if ($e[0]!='00000') { +    $err = $query->errorInfo(); 
-    echo "\nPDO::errorInfo():\n"; +    if ($err[0]!='00000') { 
-    die("Error accedint a dades: " . $e[2]); +      echo "\nPDO::errorInfo():\n"; 
-  }  +      die("Error accedint a dades: " . $err[2]); 
 +    }   
 +  }
      
-  //anem agafant les fileres d'amb una amb una+  //anem agafant les fileres una una
   $row = $query->fetch();   $row = $query->fetch();
   while ( $row ) {   while ( $row ) {
-    echo $row['i']." - " . $row['a']. "<br/>"; +    echo $row['code']." - " . $row['name']. "<br/>"; 
- $row = $query->fetch();+   $row = $query->fetch();
   }   }
 +
 +  //versió alternativa amb foreach
 +  /*foreach ($query as $row) {
 +    echo $row['i']." - " . $row['a']. "<br/>";
 +  }*/
  
   //eliminem els objectes per alliberar memòria    //eliminem els objectes per alliberar memòria 
   unset($pdo);    unset($pdo); 
-  unset($query) +  unset($query) 
- +
 ?> ?>
 </file> </file>
 +
 +Exemple extret de [[https://github.com/ctrl-alt-d/FpUf/blob/main/DAW/DAW-MP07/DAW-MP07-UF3/php-acces-a-dades-amb-pdo/readme.md|PDO de Daniel Herrera]].
 +
 +\\
 +
 +===== Seguretat =====
 +
 +PDO amb seguretat:
 +  * [[SQL injection]] en aquesta wiki.
 +  * [[https://diego.com.es/tutorial-de-pdo|Tutorial PDO amb seguretat]].
 +  * [[https://www.php.net/manual/es/pdostatement.bindparam.php#refsect1-pdostatement.bindparam-examples|Exemples de PDO amb seguretat (bindParams) a la pàgina oficial de PHP]]
  
  
pdo.1731680830.txt.gz · Darrera modificació: 2024/11/15 14:27 per enric_mieza_sanchez