summaryrefslogtreecommitdiff
path: root/ext/mysql/tests
diff options
context:
space:
mode:
authorUlf Wendel <uw@php.net>2009-09-09 17:03:03 +0000
committerUlf Wendel <uw@php.net>2009-09-09 17:03:03 +0000
commit5254c6f37284007efd17acedc2036a3b0f1d542e (patch)
tree7141da211c789c02893dc245e24412ac30c4b1f6 /ext/mysql/tests
parent5b709c4718e2138171d8c6d9f7ca18ee4f3efb78 (diff)
downloadphp-git-5254c6f37284007efd17acedc2036a3b0f1d542e.tar.gz
Next attempt to fix http://bugs.php.net/bug.php?id=48745. Patch by Andrey.
Diffstat (limited to 'ext/mysql/tests')
-rw-r--r--ext/mysql/tests/mysql_fetch_field.phpt12
-rw-r--r--ext/mysql/tests/mysql_list_fields.phpt49
2 files changed, 44 insertions, 17 deletions
diff --git a/ext/mysql/tests/mysql_fetch_field.phpt b/ext/mysql/tests/mysql_fetch_field.phpt
index f9767c82b7..65c44edc5e 100644
--- a/ext/mysql/tests/mysql_fetch_field.phpt
+++ b/ext/mysql/tests/mysql_fetch_field.phpt
@@ -124,9 +124,16 @@ require_once('skipifconnectfailure.inc');
printf("[017] [%d] %s\n", mysql_errno($link), mysql_error($link));
}
$res = mysql_list_fields($db, 'test');
- while ($tmp = mysql_fetch_field($res))
- if ($tmp->name == 'id')
+ $found = false;
+ while ($tmp = mysql_fetch_field($res)) {
+ if ($tmp->name == 'id') {
+ printf("Fetch field from mysql_list_fields result set.\n");
+ $found = true;
var_dump($tmp);
+ }
+ }
+ if (!$found)
+ printf("[018] mysqli_list_fields result set processing has failed.\n");
mysql_free_result($res);
@@ -227,6 +234,7 @@ object(stdClass)#%d (13) {
[%u|b%"zerofill"]=>
int(0)
}
+Fetch field from mysql_list_fields result set.
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
diff --git a/ext/mysql/tests/mysql_list_fields.phpt b/ext/mysql/tests/mysql_list_fields.phpt
index dc3a3417d3..e0b3fd5e39 100644
--- a/ext/mysql/tests/mysql_list_fields.phpt
+++ b/ext/mysql/tests/mysql_list_fields.phpt
@@ -2,39 +2,46 @@
mysql_list_fields()
--SKIPIF--
<?php
-require_once('skipif.inc');
-require_once('skipifconnectfailure.inc');
+require_once 'skipif.inc';
+require_once 'skipifconnectfailure.inc';
?>
--FILE--
<?php
-include_once "connect.inc";
+require_once 'connect.inc';
$tmp = NULL;
$link = NULL;
-// This will implicitly try to connect, and we don't want it
-//if (false !== ($tmp = mysql_list_fields($link, $link)))
-// printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
-
-require('table.inc');
+require 'table.inc';
if (!$res = mysql_list_fields($db, 'test', $link))
printf("[003] [%d] %s\n", mysql_errno($link), mysql_error($link));
if (2 !== ($num = mysql_num_fields($res)))
- printf("[004] Expecting two fields, got %d. [%d] %s\n", $num, mysql_errno($link), mysql_error($link));
+ printf("[004] Expecting two fields from 'test', got %d. [%d] %s\n", $num, mysql_errno($link), mysql_error($link));
mysql_free_result($res);
-if (!mysql_query("DROP TABLE IF EXISTS test2", $link) ||
- !mysql_query("CREATE TABLE test2(id INT)", $link))
+if (!mysql_query("DROP TABLE IF EXISTS test2", $link))
printf("[005] [%d] %s\n", mysql_errno($link), mysql_error($link));
-if (!$res = mysql_list_fields($db, 'test%', $link))
+if (!$res = @mysql_list_fields($db, 'test2', $link))
printf("[006] [%d] %s\n", mysql_errno($link), mysql_error($link));
-if (3 !== ($num = mysql_num_fields($res)))
- printf("[007] Expecting 3 fields from test and test2, got %d. [%d] %s\n", $num, mysql_errno($link), mysql_error($link));
+if (!$res = mysql_list_fields($db, 'test', $link))
+ printf("[007] [%d] %s\n", mysql_errno($link), mysql_error($link));
+
+if (2 !== ($num = mysql_num_fields($res)))
+ printf("[008] Expecting 2 fields from 'test', got %d. [%d] %s\n", $num, mysql_errno($link), mysql_error($link));
+
+var_dump(mysql_fetch_assoc($res));
+for ($field_offset = 0; $field_offset < mysql_num_fields($res); $field_offset++) {
+ printf("Field Offset %d\n", $field_offset);
+ printf("mysql_field_flags(): %s\n", mysql_field_flags($res, $field_offset));
+ printf("mysql_field_len(): %s\n", mysql_field_len($res, $field_offset));
+ printf("mysql_field_name(): %s\n", mysql_field_name($res, $field_offset));
+ printf("mysql_field_type(): %s\n", mysql_field_type($res, $field_offset));
+}
mysql_free_result($res);
mysql_close($link);
@@ -43,7 +50,7 @@ print "done!";
?>
--CLEAN--
<?php
-require_once('connect.inc');
+require_once 'connect.inc';
if (!$link = my_mysql_connect($host, $user, $passwd, $db, $port, $socket))
printf("[c001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
$host, $user, $db, $port, $socket);
@@ -57,4 +64,16 @@ if (!mysql_query("DROP TABLE IF EXISTS test2", $link))
mysql_close($link);
?>
--EXPECTF--
+[006] [%d] %s
+bool(false)
+Field Offset 0
+mysql_field_flags()%s
+mysql_field_len(): 11
+mysql_field_name(): id
+mysql_field_type(): int
+Field Offset 1
+mysql_field_flags()%s
+mysql_field_len(): 1
+mysql_field_name(): label
+mysql_field_type(): string
done!