MYSQL Error...

06/30/2013 21:26 Criespiex3#1
Hey leute,
Ich bin relativ neu in PHP und muss daher einmal hier einen error melden den ich nicht lösen kann...

In meinem register script funktioniert das absenden nicht ich weiß nicht warum


Bild: [Only registered and activated users can see links. Click Here To Register...]

Zeile:

Code:
   {
   $insertusr = "INSERT INTO bg_user (user_id, truepasswd, passwd, email, ip) VALUES (?, ?, ?, ?, ?)";
   $qInsert = $conn->prepare ($insertusr);
   $qInsert->bind_param("sssss",$user,$pass,$realpass,$email,$ip);
   $qInsert->execute();
   if ($qInsert->affected_rows == 1)
   {
06/30/2013 21:48 Mondsch3in#2
Äffchen ^.^
06/30/2013 21:51 Criespiex3#3
Quote:
Originally Posted by Mondsch3in View Post
Äffchen ^.^
Sehr hilfreich
06/30/2013 23:00 _robox#4
dein Code sieht aus als verwandtest du MYSQLI Habe zwar schon lange nicht mehr mit MYSQLI gearbeitet da ich in der zwischen zeit nur noch mit PDO programmiere.

bis auf ein kleinen Schönheitsfehler kann ich keine Fehler sehen.
zum einen werden die Datentypen in einfachen Anführungszeichen gesetzt zum anderen ist die user id aller Wahrscheinlichkeit ein int.
probiere es mal so

PHP Code:
try {

    
$db = new MySQLi($hostname_config $username_config ,   $password_config $database_config);
    
$insertusr "INSERT INTO bg_user (user_id, truepasswd, passwd, email, ip) VALUES (?, ?, ?, ?, ?)";
    
$qInsert $db->prepare ($insertusr);
    
$qInsert->bind_param('issss'$user$pass$realpass$email$ip);
    
$qInsert->execute();
    if (
$qInsert->affected_rows == 1)
    {
    }
    
$qInsert->close();
    
} catch (
Exception $e) {
    echo 
'Fehler: ' htmlspecialchars($e->getMessage());

wenn du PDO verwarntest gibt es keine bind_param() sondern bindParam() das würte dan so aussehen
PHP Code:
try {
    
$engine ='MYSQL';
    
$dns $engine ':host=' $host ';port=' $port ';dbname=' $database;
    
$db = new  PDO($dns$user$pass, array(PDO::ATTR_PERSISTENT => truePDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
    
$insertusr "INSERT INTO bg_user (user_id, truepasswd, passwd, email, ip) VALUES (:user_id, :truepasswd, :realpass, :email, :ip)";
    
$qInsert $db->prepare ($insertusr);
    
$qInsert->bindParam(':user_id',  $userPDO::PARAM_INT);
    
$qInsert->bindParam(':truepasswd' $passPDO::PARAM_STR);
    
$qInsert->bindParam(':realpass',  $realpass,PDO::PARAM_STR);
    
$qInsert->bindParam(':$email',    $emailPDO::PARAM_STR);
    
$qInsert->bindParam(':ip',        $ipPDO::PARAM_STR);
    
    
$qInsert->execute();
    if (
$qInsert->affected_rows == 1)
    {
    }

} catch (
Exception $e) {
    echo 
'Fehler: ' htmlspecialchars($e->getMessage());