Witam
Jestem poczatkujacy w php5. NIe rozumie paru rzeczy odnosnie PDO. Przykladowy skrypt (specjalnie z bledem)
<?php
try {
$dbh = new PDO('mysql:host=localhost;port=3305;dbname=dbname', 'user', 'pass');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt= $dbh->prepare('INSERT INTO osoba VALUES(:id,:imie,:email)');
$id='nr';
$imie='aaa';
$email='a@a.pl';
$stmt->bindValue(':id',$id,PDO::PARAM_INT);
$stmt->bindValue(':imie',$imie,PDO::PARAM_STR);
$stmt->bindValue(':email',$email,PDO::PARAM_STR);
$stmt -> execute();
$stmt->closeCursor();
} catch (Exception $e) {
echo 'Failed: ' . $e->getMessage(); }
?>
tabela w MySQL qyglada nastepujaco (typ tabeli: InnoDB)
DESC osoba;
+-------+-------------+------+-----+---------+----------------+
| FIELD | Type | NULL | KEY | DEFAULT | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | AUTO_INCREMENT |
| imie | varchar(10) | YES | | NULL | |
| email | varchar(15) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
Pytania:
1.dlaczego $stmt->bindValue(':id',$id,PDO::PARAM_INT); nie odrzuca wartosci string? przeciez po to sie dodaje ten parametr (PDO::PARAM_INT)
2. Dlaczego MySQL nie odrzuca stringa dla pola id?
uzywam php 5.1.6, baza MySQL 5.0.22