

ezzcardoso
Members-
Content count
4 -
Joined
-
Last visited
Community Reputation
0 ComumAbout ezzcardoso

-
Pessoal, estou fazendo um script php para selecionar registros no banco de dados... que funciona normalmente.. porém, não estou sabendo como trarar o dados gerados pelo script. Vejamos um exemplo. <?php abstract class Eac { private $localhost = "localhost"; private $root = "root"; private $password = ""; private $database = "database"; private $port = "3306"; protected function open() { $conn = new mysqli($this->localhost, $this->root, $this->password, $this->database, $this->port); $conn->select_db($this->database); $conn->set_charset("utf8"); if ($conn->connect_error) { return $conn->connect_error; } else { return $conn; } } } class SQL extends Eac { public function insert($table, $array) { if (is_array($array)) { $conn = $this->open(); $fields = array(); $values = array(); foreach ($array as $key => $value) { $fields[] = $key; $values[] = "'" . $value = $conn->real_escape_string($value) . "'"; } $fields = implode(",", $fields); $values = implode(",", $values); $sql = "INSERT INTO {$table} ({$fields}) VALUES ({$values})"; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } else { echo ("Não é array"); } } public function delete($table, $where) { $conn = $this->open(); $sql = "DELETE FROM {$table} {$where}"; if ($conn->query($sql)) { return array( "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } public function update($table, $array, $where) { if (is_array($array)) { $conn = $this->open(); $sql = "UPDATE {$table} SET "; $sets = array(); foreach ($array as $column => $value) { $sets[] = $column . " = '" . $value = $conn->real_escape_string($value) . "'"; } $sql .= implode(',', $sets); $sql .= $where; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } } public function select($table, $array, $rules) { $conn = $this->open(); switch ($array) { case '*': $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $condition = implode("",$conditions); echo $sql = "SELECT * FROM {$table} {$condition}"; break; case is_array($array): $fields = array(); foreach ($array as $column => $value) { $fields[] = $value; } $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $field = implode(",", $fields); $condition = implode("",$conditions); echo $sql = "SELECT {$field} FROM {$table} {$condition}"; break; } $select = $conn->query($sql); $result = array(); if ($select->num_rows > 0) { $stack = array(); while ($row = $select->fetch_array()) { $stack[] = $row; } return ($stack); } else { echo "0 results"; } $conn->close(); } } ?> Aí em cima é meu script normal pra fazer o select e está 100% funcionando. Agora o problema é quando eu faço o comando $database = new SQL(); $cliente = $database->select("cliente","*",$rules = array()); var_dump($cliente); Mostra o seguinte array (size=2) 0 => array (size=18) 0 => string '21' (length=2) 'id' => string '21' (length=2) 1 => string 'Lula Luiz Inacio Da Silva' (length=25) 'nome' => string 'Lula Luiz Inacio Da Silva' (length=25) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1d7296d0' (length=13) 'cliente_id' => string '5936d1d7296d0' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) 1 => array (size=18) 0 => string '20' (length=2) 'id' => string '20' (length=2) 1 => string 'Dilma Luiz Inacio Da Silva' (length=26) 'nome' => string 'Dilma Luiz Inacio Da Silva' (length=26) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1b61f716' (length=13) 'cliente_id' => string '5936d1b61f716' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) agora... como que eu ponho isso em tabela ????? eu fiz o seguinte. foreach($cliente as $key => $value){ foreach($value as $keys => $values){ echo $values->nome; $values->CPF; } } só que não funciona.... resultado Notice: Trying to get property of non-object ... Minha questão é.... COMO posso organizar aquela Array em uma tabela de marcação HTML
-
Pessoal, estou fazendo um script php para selecionar registros no banco de dados... que funciona normalmente.. porém, não estou sabendo como trarar o dados gerados pelo script. Vejamos um exemplo. <?php abstract class Eac { private $localhost = "localhost"; private $root = "root"; private $password = ""; private $database = "database"; private $port = "3306"; protected function open() { $conn = new mysqli($this->localhost, $this->root, $this->password, $this->database, $this->port); $conn->select_db($this->database); $conn->set_charset("utf8"); if ($conn->connect_error) { return $conn->connect_error; } else { return $conn; } } } class SQL extends Eac { public function insert($table, $array) { if (is_array($array)) { $conn = $this->open(); $fields = array(); $values = array(); foreach ($array as $key => $value) { $fields[] = $key; $values[] = "'" . $value = $conn->real_escape_string($value) . "'"; } $fields = implode(",", $fields); $values = implode(",", $values); $sql = "INSERT INTO {$table} ({$fields}) VALUES ({$values})"; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } else { echo ("Não é array"); } } public function delete($table, $where) { $conn = $this->open(); $sql = "DELETE FROM {$table} {$where}"; if ($conn->query($sql)) { return array( "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } public function update($table, $array, $where) { if (is_array($array)) { $conn = $this->open(); $sql = "UPDATE {$table} SET "; $sets = array(); foreach ($array as $column => $value) { $sets[] = $column . " = '" . $value = $conn->real_escape_string($value) . "'"; } $sql .= implode(',', $sets); $sql .= $where; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } } public function select($table, $array, $rules) { $conn = $this->open(); switch ($array) { case '*': $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $condition = implode("",$conditions); echo $sql = "SELECT * FROM {$table} {$condition}"; break; case is_array($array): $fields = array(); foreach ($array as $column => $value) { $fields[] = $value; } $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $field = implode(",", $fields); $condition = implode("",$conditions); echo $sql = "SELECT {$field} FROM {$table} {$condition}"; break; } $select = $conn->query($sql); $result = array(); if ($select->num_rows > 0) { $stack = array(); while ($row = $select->fetch_array()) { $stack[] = $row; } return ($stack); } else { echo "0 results"; } $conn->close(); } } ?> Aí em cima é meu script normal pra fazer o select e está 100% funcionando. Agora o problema é quando eu faço o comando $database = new SQL(); $cliente = $database->select("cliente","*",$rules = array()); var_dump($cliente); Mostra o seguinte array (size=2) 0 => array (size=18) 0 => string '21' (length=2) 'id' => string '21' (length=2) 1 => string 'Lula Luiz Inacio Da Silva' (length=25) 'nome' => string 'Lula Luiz Inacio Da Silva' (length=25) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1d7296d0' (length=13) 'cliente_id' => string '5936d1d7296d0' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) 1 => array (size=18) 0 => string '20' (length=2) 'id' => string '20' (length=2) 1 => string 'Dilma Luiz Inacio Da Silva' (length=26) 'nome' => string 'Dilma Luiz Inacio Da Silva' (length=26) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1b61f716' (length=13) 'cliente_id' => string '5936d1b61f716' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) agora... como que eu ponho isso em tabela ????? eu fiz o seguinte. foreach($cliente as $key => $value){ foreach($value as $keys => $values){ echo $values->nome; $values->CPF; } } só que não funciona.... resultado Notice: Trying to get property of non-object ... Minha questão é.... COMO posso organizar aquela Array em uma tabela de marcação HTML
-
segue código corrido pra quem quiser . <?php class Email { function __construct() { } function get_email($argument){ $argument=addslashes($argument); $argument=trim($argument); $argument=htmlspecialchars($argument); $argument=strtolower($argument); return $this->email = $argument; } } class Location { function get_location(){ $zone= date_default_timezone_set('America/Sao_Paulo'); ini_set($zone, 'UTC'); $location = json_decode(file_get_contents("http://ipinfo.io/json")); $this->ip = $location->ip; $this->hostname = $location->hostname; $this->city = $location->city; $this->region = $location->region; $this->country = $location->country; $this->loc = $location->loc; $this->org = $location->org; $this->data = date("Y-m-d"); $this->hours = date('H:i:s', time()); $this->datatime = date("Y-m-d H:i:s"); } } class Connection { function open($name) { // verifica se existe arquivo de configuração para este banco de dados if (file_exists("{$name}.ini")) { // lê o INI e retorna um array $db = parse_ini_file("{$name}.ini"); } else { // se não existir, lança um erro throw new Exception("Arquivo '$name' não encontrado"); } // lê as informações contidas no arquivo $user = isset($db['user']) ? $db['user'] : NULL; $pass = isset($db['pass']) ? $db['pass'] : NULL; $name = isset($db['name']) ? $db['name'] : NULL; $host = isset($db['host']) ? $db['host'] : NULL; $type = isset($db['type']) ? $db['type'] : NULL; $port = isset($db['port']) ? $db['port'] : NULL; // descobre qual o tipo (driver) de banco de dados a ser utilizado switch ($type) { case 'pgsql': $port = $port ? $port : '5432'; $conn = new PDO("pgsql:dbname={$name}; user={$user}; password={$pass}; host=$host;port={$port}"); break; case 'mysql': $port = $port ? $port : '3306'; $conn = new PDO("mysql:host={$host};port={$port};dbname={$name};charset=utf8", $user, $pass); break; case 'sqlite': $conn = new PDO("sqlite:{$name}"); break; case 'ibase': $conn = new PDO("firebird:dbname={$name}", $user, $pass); break; case 'oci8': $conn = new PDO("oci:dbname={$name}", $user, $pass); break; case 'mssql': $conn = new PDO("mssql:host={$host},1433;dbname={$name}", $user, $pass); break; } // define para que o PDO lance exceções na ocorrência de erros $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $conn; } } class SQL extends Connection { function __construct() { } function sql_add($table_name,$array,$notification){ $fildes = array_keys($array); echo $sql = "INSERT INTO ". $table_name . " (".implode(",",$fildes).")"." VALUES " . "('". implode("','",$array)."')"; $conn = $this->open("Connection"); $add = $conn->query($sql); $conn = NULL; if($add){ echo("Feito registro"); } } } ?> <?php require_once("class.php"); $location = new Location(); $location->get_location(); $email = new Email(); $email->get_email("testeDFGssdssdsdsdsdsHsdsdsdHHHHH"); if(isset($_POST["send"])){ $password_whirlpool=hash('whirlpool',$_POST["password"]); }else{ $password_whirlpool = 123456; } $location_array = array("ip"=>$location->ip, "hostname"=>$location->hostname, "city"=>$location->city, "region"=>$location->region, "country"=>$location->country, "loc"=>$location->loc, "org"=>$location->org, "create_data"=>$location->data, "create_hours"=>$location->hours, "create_datatime"=>$location->datatime); $account_array = array("email"=>$email->email, "password"=>$password_whirlpool, "profile_id"=>uniqid()); $account_create = array_merge($location_array,$account_array); var_dump($account_create); $sql = new SQL(); $sql->sql_add("account",$account_create,"teste"); ?>
-
Pessoal,estou tendo problemas com o seguinte código class Connection { function open($name) { // verifica se existe arquivo de configuração para este banco de dados if (file_exists("{$name}.ini")) { // lê o INI e retorna um array $db = parse_ini_file("{$name}.ini"); } else { // se não existir, lança um erro throw new Exception("Arquivo '$name' não encontrado"); } // lê as informações contidas no arquivo $user = isset($db['user']) ? $db['user'] : NULL; $pass = isset($db['pass']) ? $db['pass'] : NULL; $name = isset($db['name']) ? $db['name'] : NULL; $host = isset($db['host']) ? $db['host'] : NULL; $type = isset($db['type']) ? $db['type'] : NULL; $port = isset($db['port']) ? $db['port'] : NULL; // descobre qual o tipo (driver) de banco de dados a ser utilizado switch ($type) { case 'pgsql': $port = $port ? $port : '5432'; $conn = new PDO("pgsql:dbname={$name}; user={$user}; password={$pass}; host=$host;port={$port}"); break; case 'mysql': $port = $port ? $port : '3306'; $conn = new PDO("mysql:host={$host};port={$port};dbname={$name}", $user, $pass); break; case 'sqlite': $conn = new PDO("sqlite:{$name}"); break; case 'ibase': $conn = new PDO("firebird:dbname={$name}", $user, $pass); break; case 'oci8': $conn = new PDO("oci:dbname={$name}", $user, $pass); break; case 'mssql': $conn = new PDO("mssql:host={$host},1433;dbname={$name}", $user, $pass); break; } // define para que o PDO lance exceções na ocorrência de erros $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $conn; } } class SQL extends Connection { function __construct() { } function sql_add($table_name,$array,$notification){ $fildes = array_keys($array); $sql = "INSERT INTO".$table_name."(".implode(",",$fildes).")"."VALUES"."(".implode("','",$array).")"; $conn = $this->open("Connection"); $add = $conn->query($sql); $conn->close(); if($add){ echo("Feito registro"); } } } quando vou usar o Script $location_array = array("ip"=>$location->ip, "hostname"=>$location->hostname, "city"=>$location->city, "region"=>$location->region, "country"=>$location->country, "loc"=>$location->loc, "org"=>$location->org, "create_data"=>$location->data, "create_hours"=>$location->hours, "create_datatime"=>$location->datatime); $account_array = array("email"=>$email->email, "password"=>$password_whirlpool, "profile_id"=>uniqid()); $account_create = array_merge($location_array,$account_array); var_dump($account_create); $sql = new SQL(); $sql->sql_add("account",$account_create,"teste"); Gera um erro de código Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.123.246','bace7bf6.virtua.com.br','Boqueirão','Parana','BR','-25.4833,-49.25' at line 1' in C:\wamp64\www\class.php on line 114 ( ! ) PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.123.246','bace7bf6.virtua.com.br','Boqueirão','Parana','BR','-25.4833,-49.25' at line 1 in C:\wamp64\www\class.php on line 114 Call Stack alguém tem uma luz ?