さて、初心者のために、古い非推奨のを使用するのをやめてmysql_*
ください。
やりたくないので、やりたいことをどうやってやるのかはお見せしmysql_*
ません。PDOでは、次のようにします。
$db = new PDO( 'mysql:host=dbHost;dbName=yourDBName;' , 'user' , 'pass' );
try
{
$st = $db->prepare("CALL dodaj_osobe (pesel:,imie:,nazwisko:,telefon:,adres:,nr_konta:,zarobek:)");
$st->bindValue( 'pesel:' , $pesel , PDO::PARAM_dataType );
$st->bindValue( 'imie:' , $imie , PDO::PARAM_dataType );
$st->bindValue( 'nazwisko:' , $nazwisko , PDO::PARAM_dataType );
$st->bindValue( 'telefon:' , $telefon , PDO::PARAM_dataType );
$st->bindValue( 'adres:' , $adres , PDO::PARAM_dataType );
$st->bindValue( 'nr_konta:' , $nr_konta , PDO::PARAM_dataType );
$st->bindValue( 'zarobek:' , $zarobek , PDO::PARAM_dataType );
$st->execute();
}
catch( PDOException $qEx )
{
//the query wasn't successful..
//deal with it
}
PDO::PARAM_dataType
名前付きプレースホルダーの変数がどのデータ型であっても、すべてを置き換えます。したがって、たとえば、$pesel
が文字列の場合は、に置き換え$st->bindValue( 'pesel:' , $pesel , PDO::PARAM_dataType );
ます$st->bindValue( 'pesel:' , $pesel , PDO::PARAM_STR );
。PARAM_STR?..に注意してください。
OOPアプローチで混乱する場合は、手続き型アプローチをサポートしているMySQLiを使用してください。