/hphp/test/zend/bad/ext/mysqli/tests/mysqli_stmt_execute_stored_proc.php
PHP | 181 lines | 125 code | 49 blank | 7 comment | 51 complexity | 494398d14b9daf780131ebbbbb8bac10 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
- <?php
- require_once('connect.inc');
- $test_table_name = 'test_mysqli_stmt_execute_stored_proc_table_1'; require_once('table.inc');
- if (!mysqli_query($link, 'DROP PROCEDURE IF EXISTS p'))
- printf("[009] [%d] %s.\n", mysqli_errno($link), mysqli_error($link));
- if (mysqli_real_query($link, 'CREATE PROCEDURE p(OUT ver_param VARCHAR(25)) BEGIN SELECT VERSION() INTO ver_param; END;')) {
- /* no result set, one output parameter */
- if (!$stmt = mysqli_prepare($link, 'CALL p(@version)'))
- printf("[011] Cannot prepare CALL, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- if (!mysqli_stmt_execute($stmt))
- printf("[012] Cannot execute CALL, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- /* yes, I really want to call it twice! */
- if (!mysqli_stmt_execute($stmt))
- printf("[013] Cannot execute CALL, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!mysqli_stmt_close($stmt))
- printf("[014] Cannot close statement, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!$stmt = mysqli_prepare($link, 'SELECT @version AS _version'))
- printf("[015] Cannot prepare SELECT, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- if (!mysqli_stmt_execute($stmt))
- printf("[016] Cannot execute SELECT, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- $version = 'unknown';
- if (!mysqli_stmt_bind_result($stmt, $version) ||
- !mysqli_stmt_fetch($stmt))
- printf("[017] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (($version == "unknown") || ($version == ""))
- printf("[018] Results seem wrong, got %s, [%d] %s\n",
- $version,
- mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- mysqli_stmt_free_result($stmt);
- mysqli_stmt_close($stmt);
- } else {
- printf("[010] Cannot create SP, [%d] %s.\n", mysqli_errno($link), mysqli_error($link));
- }
- if (function_exists('mysqli_stmt_get_result')) {
- if (!mysqli_query($link, 'DROP PROCEDURE IF EXISTS p'))
- printf("[019] [%d] %s.\n", mysqli_errno($link), mysqli_error($link));
- if (mysqli_real_query($link, 'CREATE PROCEDURE p(OUT ver_param VARCHAR(25)) BEGIN SELECT VERSION() INTO ver_param; END;')) {
- // no result set, one output parameter
- if (!$stmt = mysqli_prepare($link, 'CALL p(@version)'))
- printf("[020] Cannot prepare CALL, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- if (!mysqli_stmt_execute($stmt))
- printf("[021] Cannot execute CALL, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!mysqli_stmt_close($stmt))
- printf("[022] Cannot close statement, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!$stmt = mysqli_prepare($link, 'SELECT @version AS _version'))
- printf("[023] Cannot prepare SELECT, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- if (!mysqli_stmt_execute($stmt))
- printf("[024] Cannot execute SELECT, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!$res = mysqli_stmt_get_result($stmt))
- printf("[025] Cannot get result set, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if ((!($row = mysqli_fetch_assoc($res))) || ($row['_version'] == ""))
- printf("[026] Results seem wrong, got %s, [%d] %s\n",
- $row['_version'],
- mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- mysqli_free_result($res);
- mysqli_stmt_close($stmt);
- } else {
- printf("[027] Cannot create SP, [%d] %s.\n", mysqli_errno($link), mysqli_error($link));
- }
- }
- if (!mysqli_query($link, 'DROP PROCEDURE IF EXISTS p'))
- printf("[028] [%d] %s.\n", mysqli_errno($link), mysqli_error($link));
- if (mysqli_real_query($link, 'CREATE PROCEDURE p(IN ver_in VARCHAR(25), OUT ver_out VARCHAR(25)) BEGIN SELECT ver_in INTO ver_out; END;')) {
- // no result set, one input parameter, output parameter
- // yes, I really do not want to bind input values...
- if (!$stmt = mysqli_prepare($link, "CALL p('myversion', @version)"))
- printf("[029] Cannot prepare CALL, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- if (!mysqli_stmt_execute($stmt))
- printf("[030] Cannot execute CALL, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!mysqli_stmt_close($stmt))
- printf("[031] Cannot close statement, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!$stmt = mysqli_prepare($link, 'SELECT @version AS _version'))
- printf("[032] Cannot prepare SELECT, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- if (!mysqli_stmt_execute($stmt))
- printf("[033] Cannot execute SELECT, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- $version = 'unknown';
- if (!mysqli_stmt_bind_result($stmt, $version) ||
- !mysqli_stmt_fetch($stmt))
- printf("[034] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if ($version != "myversion")
- printf("[035] Results seem wrong, got %s, [%d] %s\n",
- $version,
- mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- mysqli_stmt_free_result($stmt);
- mysqli_stmt_close($stmt);
- } else {
- printf("[036] Cannot create SP, [%d] %s.\n", mysqli_errno($link), mysqli_error($link));
- }
- if (!mysqli_query($link, 'DROP PROCEDURE IF EXISTS p'))
- printf("[037] [%d] %s.\n", mysqli_errno($link), mysqli_error($link));
- if (mysqli_real_query($link, 'CREATE PROCEDURE p(IN ver_in VARCHAR(25), OUT ver_out VARCHAR(25)) BEGIN SELECT ver_in INTO ver_out; END;')) {
- // no result set, one input parameter, output parameter
- // yes, I really do not want to bind input values...
- if (!$stmt = mysqli_prepare($link, 'CALL p(?, @version)'))
- printf("[038] Cannot prepare CALL, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- $version = 'myversion';
- if (!mysqli_stmt_bind_param($stmt, 's', $version))
- printf("[039] Cannot bind input parameter, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!mysqli_stmt_execute($stmt))
- printf("[040] Cannot execute CALL, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!mysqli_stmt_close($stmt))
- printf("[041] Cannot close statement, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!$stmt = mysqli_prepare($link, 'SELECT @version AS _version'))
- printf("[042] Cannot prepare SELECT, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- if (!mysqli_stmt_execute($stmt))
- printf("[043] Cannot execute SELECT, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- $version = 'unknown';
- if (!mysqli_stmt_bind_result($stmt, $version) ||
- !mysqli_stmt_fetch($stmt))
- printf("[044] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if ($version !== "myversion")
- printf("[045] Results seem wrong, got %s, [%d] %s\n",
- $version,
- mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- mysqli_stmt_free_result($stmt);
- mysqli_stmt_close($stmt);
- } else {
- printf("[046] Cannot create SP, [%d] %s.\n", mysqli_errno($link), mysqli_error($link));
- }
- mysqli_close($link);
- print "done!";
- ?>
- <?php error_reporting(0); ?>
- <?php
- require_once("connect.inc");
- if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
- printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
- if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch"))
- printf("[c002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- @mysqli_query($link, 'DROP PROCEDURE IF EXISTS p');
- mysqli_close($link);
- ?>