Discussions
Categories
- 196.9K All Categories
- 2.2K Data
- 239 Big Data Appliance
- 1.9K Data Science
- 450.3K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 545 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.9K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.6K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 440 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
Different results from PHP and Oracle developer
Good morning,
I'm seeing a problem that until now could not solve ... I aim to develop a php page that contains information from a oracle query . I managed to make the connection and do the reading ... however when I compare the results coming from the results of the PHP with Oracle Developer (installed on my computer) I see that are not the same ... The results of PHP come as a filter applied to it .. appear only a few. What reason can be? Someone can help me?
the code is as follows:
---------------------------
$conexao = oci_connect($user,$pass,$db);
if (!$conexao) {
echo "falha na conexão";
}
else{
$query = "Select assignment,problem_status
From MV_ZON_SERVICE_REQUEST
where assignment in ('Desenvolvimento Aplicacional SI - Digitalização & Arquivo', 'Desenvolvimento Aplicacional SI - NB FILENET RESP', 'Desenvolvimento Aplicacional SI - NB SAP RESP', 'Desenvolvimento Aplicacional SI - Portais de Admin Corporativa', 'Desenvolvimento Aplicacional SI - SAP', 'Suporte Aplicacional SI 2ª linha - Digitalização & Arquivo', 'Suporte Aplicacional SI 2ª linha - Portais de Admin Corporativa', 'Suporte Aplicacional SI 2ª linha - SAP', 'Suporte Aplicacional SI 2ª linha - ZON Periódicos', 'Suporte Técnico SI - Digitalização & Arquivo', 'Suporte Técnico SI - Portais de Admin Corporativa', 'Suporte Técnico SI - SAP')
and problem_status not in ('Closed','Resolved')";
$stmt = oci_parse($conexao,$query);
oci_execute($stmt);
$nrows = oci_fetch_all($stmt,$results);
if ( $nrows > 0 ) {
print "<TABLE ID=\"tablistagem\" BORDER=\"1\">\n";
print "<TR>\n";
while ( list( $key, $val ) = each( $results ) ) {
print "<TH>$key</TH>\n";
}
print "</TR>\n";
for ( $i = 0; $i < $nrows; $i++ ) {
reset($results);
print "<TR>\n";
while ( $column = each($results) ) {
$data = $column['value'];
print "<TD>$data[$i]</TD>\n";
}
print "</TR>\n";
}
print "</TABLE>\n";
} else {
echo "No data found<BR>\n";
}
echo "";
OCILogoff($conexao);
---------------------------
I tested the query in php and oracle developer was exactly the same ... as I said, return different results
Oracle Developer result:
[Link for image|http://i.stack.imgur.com/HNd7i.png]
PHP result:
"No data found"
I'm seeing a problem that until now could not solve ... I aim to develop a php page that contains information from a oracle query . I managed to make the connection and do the reading ... however when I compare the results coming from the results of the PHP with Oracle Developer (installed on my computer) I see that are not the same ... The results of PHP come as a filter applied to it .. appear only a few. What reason can be? Someone can help me?
the code is as follows:
---------------------------
$conexao = oci_connect($user,$pass,$db);
if (!$conexao) {
echo "falha na conexão";
}
else{
$query = "Select assignment,problem_status
From MV_ZON_SERVICE_REQUEST
where assignment in ('Desenvolvimento Aplicacional SI - Digitalização & Arquivo', 'Desenvolvimento Aplicacional SI - NB FILENET RESP', 'Desenvolvimento Aplicacional SI - NB SAP RESP', 'Desenvolvimento Aplicacional SI - Portais de Admin Corporativa', 'Desenvolvimento Aplicacional SI - SAP', 'Suporte Aplicacional SI 2ª linha - Digitalização & Arquivo', 'Suporte Aplicacional SI 2ª linha - Portais de Admin Corporativa', 'Suporte Aplicacional SI 2ª linha - SAP', 'Suporte Aplicacional SI 2ª linha - ZON Periódicos', 'Suporte Técnico SI - Digitalização & Arquivo', 'Suporte Técnico SI - Portais de Admin Corporativa', 'Suporte Técnico SI - SAP')
and problem_status not in ('Closed','Resolved')";
$stmt = oci_parse($conexao,$query);
oci_execute($stmt);
$nrows = oci_fetch_all($stmt,$results);
if ( $nrows > 0 ) {
print "<TABLE ID=\"tablistagem\" BORDER=\"1\">\n";
print "<TR>\n";
while ( list( $key, $val ) = each( $results ) ) {
print "<TH>$key</TH>\n";
}
print "</TR>\n";
for ( $i = 0; $i < $nrows; $i++ ) {
reset($results);
print "<TR>\n";
while ( $column = each($results) ) {
$data = $column['value'];
print "<TD>$data[$i]</TD>\n";
}
print "</TR>\n";
}
print "</TABLE>\n";
} else {
echo "No data found<BR>\n";
}
echo "";
OCILogoff($conexao);
---------------------------
I tested the query in php and oracle developer was exactly the same ... as I said, return different results

Oracle Developer result:
[Link for image|http://i.stack.imgur.com/HNd7i.png]
PHP result:
"No data found"
Tagged:
Answers
-
Good afternoon,
I managed to solve the problem though .. I'll leave here my solution for future similar problems that someone may have.
Well after a major review found that in php character encoding was not equal to the database, ie, when the php would seek some textual content with special characters could not recognize and put different characters ... when checked if there was a set given name, found nothing ...
to solve this was enough to run the following query in Oracle developer to know the encoding of the database:
select DECODE(parameter, 'NLS_CHARACTERSET', 'CHARACTER SET',
'NLS_LANGUAGE', 'LANGUAGE',
'NLS_TERRITORY', 'TERRITORY') name,
value from v$nls_parameters
WHERE parameter IN ( 'NLS_CHARACTERSET', 'NLS_LANGUAGE', 'NLS_TERRITORY')
Having coding was enough to change the line in the PHP code where do I connect:
$conexao = oci_connect($user,$pass,$db,'WE8MSWIN1252');
This discussion has been closed.