am trying to insert multiple raw data using foreach and for loop. script work properly. am using pdo insert data to mysql.
insert work properly but have a big problem. no error reporting. php 5.4 mysql 5.5
var1 = 'man', var2 = '1', var3 = 'a'
var1 = 'gt', var2 = '1', var3 = 'a'
var1 = 'cook', var2 = '1', var3 = 'a'
//mysql table
var1 varchar(50) not null unique,
var2 varchar(50) not null,
var3 tinytext not null
//am suppose
var1 var2 var3
man 1 a
gt 1 a
cook 1 a
//but its works like this <space> mean just space
var1 var2 var3
<space> 1 a
<space> 1 a
cook 1 a
last one inserting properly. others not working. help me
//script php
$words = array('man','pan','can');
foreach($words as $var1){
var2 = 1;
var3 = a;
$obj = new myclass( array(
"var1"=> isset( $var1 ) ? (string) $var1 :"",
"var2"=> isset( $var2 ) ? (string) $var2 :"",
"var3"=> isset( $var3 ) ? (string) $var3 :"",
) );
$obj->insert();
}
//class myclass
class myclass extends DObject {
protected $data = array(
"var1" => "",
"var2" => "",
"var3" => ""
);
public function insert() {
$conn = parent::connect();
$sql = "INSERT INTO " . TBL_MYTBL . " (
var1,
var2,
var3
) VALUES (
:var1,
:var2,
:var3
)";
try {
$st = $conn-> prepare( $sql );
$st-> bindValue( ":var1", $this-> data["var1"], PDO:: PARAM_STR );
$st-> bindValue( ":var2", $this-> data["var2"], PDO:: PARAM_STR );
$st-> bindValue( ":var3", $this-> data["var3"], PDO:: PARAM_STR );
$st-> execute();
parent::disconnect( $conn );
} catch ( PDOException $e ) {
parent::disconnect( $conn );
die( "Query failed: " . $e-> getMessage() );
}
}
}
//dobject class
abstract class DObject {
protected $data = array();
public function __construct( $data ) {
foreach ( $data as $key => $value ) {
if ( array_key_exists( $key, $this-> data ) ) $this-> data[$key] = $value;
}
}
protected static function connect() {
try {
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$conn-> setAttribute( PDO::ATTR_PERSISTENT, true );
$conn-> setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch ( PDOException $e ) {
die( "Connection failed: " . $e-> getMessage() );
}
return $conn;
}
protected static function disconnect( $conn ) {
$conn = "";
}
}
insert work properly but have a big problem. no error reporting. php 5.4 mysql 5.5
var1 = 'man', var2 = '1', var3 = 'a'
var1 = 'gt', var2 = '1', var3 = 'a'
var1 = 'cook', var2 = '1', var3 = 'a'
//mysql table
var1 varchar(50) not null unique,
var2 varchar(50) not null,
var3 tinytext not null
//am suppose
var1 var2 var3
man 1 a
gt 1 a
cook 1 a
//but its works like this <space> mean just space
var1 var2 var3
<space> 1 a
<space> 1 a
cook 1 a
last one inserting properly. others not working. help me
//script php
$words = array('man','pan','can');
foreach($words as $var1){
var2 = 1;
var3 = a;
$obj = new myclass( array(
"var1"=> isset( $var1 ) ? (string) $var1 :"",
"var2"=> isset( $var2 ) ? (string) $var2 :"",
"var3"=> isset( $var3 ) ? (string) $var3 :"",
) );
$obj->insert();
}
//class myclass
class myclass extends DObject {
protected $data = array(
"var1" => "",
"var2" => "",
"var3" => ""
);
public function insert() {
$conn = parent::connect();
$sql = "INSERT INTO " . TBL_MYTBL . " (
var1,
var2,
var3
) VALUES (
:var1,
:var2,
:var3
)";
try {
$st = $conn-> prepare( $sql );
$st-> bindValue( ":var1", $this-> data["var1"], PDO:: PARAM_STR );
$st-> bindValue( ":var2", $this-> data["var2"], PDO:: PARAM_STR );
$st-> bindValue( ":var3", $this-> data["var3"], PDO:: PARAM_STR );
$st-> execute();
parent::disconnect( $conn );
} catch ( PDOException $e ) {
parent::disconnect( $conn );
die( "Query failed: " . $e-> getMessage() );
}
}
}
//dobject class
abstract class DObject {
protected $data = array();
public function __construct( $data ) {
foreach ( $data as $key => $value ) {
if ( array_key_exists( $key, $this-> data ) ) $this-> data[$key] = $value;
}
}
protected static function connect() {
try {
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$conn-> setAttribute( PDO::ATTR_PERSISTENT, true );
$conn-> setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch ( PDOException $e ) {
die( "Connection failed: " . $e-> getMessage() );
}
return $conn;
}
protected static function disconnect( $conn ) {
$conn = "";
}
}
Last edited: