mirror of
https://github.com/php/php-src.git
synced 2025-01-15 00:05:02 +08:00
828c07c500
- Moved the ini_set() entries into a separate script 'setupdefault.inc' - Let mysql_affected_rows and mysql_insert_id test cases use the newly created script With the ini_set() statements inside connect.inc, some test cases would be forced to 'undo' them in order to test other scenarios. Tested on all three dev lines with and without passing db credentials. No changes detected.
72 lines
2.0 KiB
PHP
72 lines
2.0 KiB
PHP
--TEST--
|
|
mysql_insert_id()
|
|
--SKIPIF--
|
|
<?php
|
|
require_once('skipif.inc');
|
|
require_once('skipifconnectfailure.inc');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
include "connect.inc";
|
|
include 'setupdefault.inc';
|
|
|
|
$tmp = NULL;
|
|
$link = NULL;
|
|
|
|
if (0 !== ($tmp = @mysql_insert_id()))
|
|
printf("[001] Expecting int/0, got %s/%s\n", gettype($tmp), $tmp);
|
|
|
|
if (NULL !== ($tmp = @mysql_insert_id($link)))
|
|
printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
|
|
|
|
if (!is_null($tmp = @mysql_insert_id($link, 'too many args')))
|
|
printf("[002a] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
|
|
|
|
require('table.inc');
|
|
|
|
if (0 !== ($tmp = mysql_insert_id($link)))
|
|
printf("[003] Expecting int/0, got %s/%s\n", gettype($tmp), $tmp);
|
|
|
|
if (!$res = mysql_query("SELECT id, label FROM test ORDER BY id LIMIT 1", $link)) {
|
|
printf("[004] [%d] %s\n", mysql_errno($link), mysql_error($link));
|
|
}
|
|
if (0 !== ($tmp = mysql_insert_id($link)))
|
|
printf("[005] Expecting int/0, got %s/%s\n", gettype($tmp), $tmp);
|
|
mysql_free_result($res);
|
|
|
|
// no auto_increment column
|
|
if (!$res = mysql_query("INSERT INTO test(id, label) VALUES (100, 'a')", $link)) {
|
|
printf("[006] [%d] %s\n", mysql_errno($link), mysql_error($link));
|
|
}
|
|
if (0 !== ($tmp = mysql_insert_id($link)))
|
|
printf("[007] Expecting int/0, got %s/%s\n", gettype($tmp), $tmp);
|
|
|
|
if (!$res = mysql_query("ALTER TABLE test MODIFY id INT NOT NULL AUTO_INCREMENT", $link)) {
|
|
printf("[008] [%d] %s\n", mysql_errno($link), mysql_error($link));
|
|
}
|
|
if (!$res = mysql_query("INSERT INTO test(label) VALUES ('a')", $link)) {
|
|
printf("[009] [%d] %s\n", mysql_errno($link), mysql_error($link));
|
|
}
|
|
if (0 === ($tmp = mysql_insert_id($link)))
|
|
printf("[010] Expecting int/not zero, got %s/%s\n", gettype($tmp), $tmp);
|
|
|
|
if ($tmp !== ($tmp2 = mysql_insert_id()))
|
|
printf("[011] Expecting %s/%s, got %s/%s\n",
|
|
gettype($tmp), $tmp,
|
|
gettype($tmp2), $tmp2);
|
|
|
|
mysql_close($link);
|
|
|
|
var_dump(mysql_insert_id($link));
|
|
|
|
print "done!";
|
|
?>
|
|
--CLEAN--
|
|
<?php
|
|
require_once("clean_table.inc");
|
|
?>
|
|
--EXPECTF--
|
|
Warning: mysql_insert_id(): %d is not a valid MySQL-Link resource in %s on line %d
|
|
bool(false)
|
|
done!
|