PDA

View Full Version : مشکل در insert کردن در کلاس دیتابیس



mohamadali1374
چهارشنبه 27 اسفند 1393, 11:43 صبح
سلام من کد زیر رو نوشتم که یه تابع داخل یه کلاس؛ این تابع میاد و نام جدول و یه آرایه از مقادیر رو میگیره و در دیتابیس با pdo ذخیره میکنه. کار ذخیره کردن بدرستی انجام میشه یعنی مقادیر در دیتابیس ذخیره میشن اما ارور های زیر هم داده میشه لطفا کمک کنید:

public function Insert($table, $fields)
{
$fields2=$fields;
$connection= new PDO("mysql:host=localhost;dbname=persiancms","root","");
$connection->exec("SET NAMES utf8");


$i=0;
$fieldNames = array_keys($fields);
foreach($fieldNames as $fieldNames2){
$i++;
}

$query = "INSERT INTO `{$table}` ";
// add field names

$query .= '(`' . implode('`,`',$fieldNames) . '`) ';
// add field values
$values = array_keys($fields);
$query .= 'VALUES (\'' . ''.implode('\',\'', $fields) . '\')';
//echo $query;
$result2= $connection->prepare($query);
while($i>=0){
$result2->bindParam(':'.$fields[$i], $fields2[$i]);
$i--;
}
$result2->execute();
}
نحوه فرستادن مقادیر :

Insert("admin_login_pc",array('authorization'=>'admin','Username_PC'=>'mohaadali1374','Password_PC'=>135));

ارور ها:



Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Config.php on line 80

Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Config.php on line 166
INSERT INTO `admin_login_pc` (`authorization`,`Username_PC`,`Password_PC`) VALUES ('admin','mohaadali1374','135')
Notice: Undefined offset: 3 in C:\xampp\htdocs\cms\class\db\dbclass.php on line 39

Notice: Undefined offset: 2 in C:\xampp\htdocs\cms\class\db\dbclass.php on line 39

Notice: Undefined offset: 1 in C:\xampp\htdocs\cms\class\db\dbclass.php on line 39

Notice: Undefined offset: 0 in C:\xampp\htdocs\cms\class\db\dbclass.php on line 39

j_naroogha@yahoo.com
چهارشنبه 27 اسفند 1393, 13:23 عصر
خب عزیز افستهای که آرایه داری استفاده می کنید وجود ندارند...