Annotation of embedaddon/php/ext/mysqli/tests/mysqli_affected_rows.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: mysqli_affected_rows()
! 3: --SKIPIF--
! 4: <?php
! 5: require_once('skipif.inc');
! 6: require_once('skipifemb.inc');
! 7: require_once('skipifconnectfailure.inc');
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11: require_once("connect.inc");
! 12:
! 13: $tmp = NULL;
! 14: $link = NULL;
! 15:
! 16: if (!is_null($tmp = @mysqli_affected_rows()))
! 17: printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 18:
! 19: if (!is_null($tmp = @mysqli_affected_rows($link)))
! 20: printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 21:
! 22: if (!is_null($tmp = @mysqli_affected_rows($link, $link)))
! 23: printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 24:
! 25: if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
! 26: printf("[004] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
! 27: $host, $user, $db, $port, $socket);
! 28:
! 29: if (0 !== ($tmp = mysqli_affected_rows($link)))
! 30: printf("[005] Expecting int/0, got %s/%s. [%d] %s\n",
! 31: gettype($tmp), $tmp, mysqli_errno($link), mysqli_error($link));
! 32:
! 33: if (!mysqli_query($link, 'DROP TABLE IF EXISTS test'))
! 34: printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 35:
! 36: if (!mysqli_query($link, 'CREATE TABLE test(id INT, label CHAR(1), PRIMARY KEY(id)) ENGINE = ' . $engine))
! 37: printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 38:
! 39: if (!mysqli_query($link, "INSERT INTO test(id, label) VALUES (1, 'a')"))
! 40: printf("[008] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 41:
! 42: if (1 !== ($tmp = mysqli_affected_rows($link)))
! 43: printf("[010] Expecting int/1, got %s/%s\n", gettype($tmp), $tmp);
! 44:
! 45: // ignore INSERT error, NOTE: command line returns 0, affected_rows returns -1 as documented
! 46: mysqli_query($link, "INSERT INTO test(id, label) VALUES (1, 'a')");
! 47: if (-1 !== ($tmp = mysqli_affected_rows($link)))
! 48: printf("[011] Expecting int/-1, got %s/%s\n", gettype($tmp), $tmp);
! 49:
! 50: if (!mysqli_query($link, "INSERT INTO test(id, label) VALUES (1, 'a') ON DUPLICATE KEY UPDATE id = 4"))
! 51: printf("[012] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 52:
! 53: if (2 !== ($tmp = mysqli_affected_rows($link)))
! 54: printf("[013] Expecting int/2, got %s/%s\n", gettype($tmp), $tmp);
! 55:
! 56: if (!mysqli_query($link, "INSERT INTO test(id, label) VALUES (2, 'b'), (3, 'c')"))
! 57: printf("[014] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 58:
! 59: if (2 !== ($tmp = mysqli_affected_rows($link)))
! 60: printf("[015] Expecting int/2, got %s/%s\n", gettype($tmp), $tmp);
! 61:
! 62: if (!mysqli_query($link, "INSERT IGNORE INTO test(id, label) VALUES (1, 'a')")) {
! 63: printf("[016] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 64: }
! 65:
! 66: if (1 !== ($tmp = mysqli_affected_rows($link)))
! 67: printf("[017] Expecting int/1, got %s/%s\n", gettype($tmp), $tmp);
! 68:
! 69: if (!mysqli_query($link, "INSERT INTO test(id, label) SELECT id + 10, label FROM test"))
! 70: printf("[018] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 71:
! 72: if (4 !== ($tmp = mysqli_affected_rows($link)))
! 73: printf("[019] Expecting int/4, got %s/%s\n", gettype($tmp), $tmp);
! 74:
! 75: if (!mysqli_query($link, "REPLACE INTO test(id, label) values (4, 'd')"))
! 76: printf("[020] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 77:
! 78: if (2 !== ($tmp = mysqli_affected_rows($link)))
! 79: printf("[021] Expecting int/2, got %s/%s\n", gettype($tmp), $tmp);
! 80:
! 81: if (!mysqli_query($link, "REPLACE INTO test(id, label) values (5, 'e')"))
! 82: printf("[022] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 83:
! 84: if (1 !== ($tmp = mysqli_affected_rows($link)))
! 85: printf("[023] Expecting int/1, got %s/%s\n", gettype($tmp), $tmp);
! 86:
! 87: if (!mysqli_query($link, "UPDATE test SET label = 'a' WHERE id = 2"))
! 88: printf("[024] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 89:
! 90: if (1 !== ($tmp = mysqli_affected_rows($link)))
! 91: printf("[025] Expecting int/1, got %s/%s\n", gettype($tmp), $tmp);
! 92:
! 93: $charsets = array('utf8');
! 94: foreach ($charsets as $k => $charset) {
! 95: if (!($res = mysqli_query($link, sprintf("SHOW CHARACTER SET LIKE '%s'", $charset))))
! 96: continue;
! 97: mysqli_free_result($res);
! 98: if (true !== ($tmp = mysqli_set_charset($link, $charset)))
! 99: printf("[026] Expecting boolean/true got %s/%s\n",
! 100: gettype($tmp), $tmp);
! 101: if (0 !== ($tmp = mysqli_affected_rows($link)))
! 102: printf("[027] Expecting int/0 got %s/%s\n", gettype($tmp), $tmp);
! 103: }
! 104:
! 105: if (!mysqli_query($link, "UPDATE test SET label = 'a' WHERE id = 2")) {
! 106: printf("[028] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 107: }
! 108:
! 109: if (0 !== ($tmp = mysqli_affected_rows($link)))
! 110: printf("[029] Expecting int/0, got %s/%s\n", gettype($tmp), $tmp);
! 111:
! 112: if (!mysqli_query($link, "UPDATE test SET label = 'a' WHERE id = 100")) {
! 113: printf("[030] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 114: }
! 115:
! 116: if (0 !== ($tmp = mysqli_affected_rows($link)))
! 117: printf("[031] Expecting int/0, got %s/%s\n", gettype($tmp), $tmp);
! 118:
! 119: if (!mysqli_query($link, 'DROP TABLE IF EXISTS test'))
! 120: printf("[032] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 121:
! 122:
! 123: mysqli_close($link);
! 124:
! 125: if (NULL !== ($tmp = @mysqli_affected_rows($link)))
! 126: printf("[033] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 127:
! 128: print "done!";
! 129: ?>
! 130: --CLEAN--
! 131: <?php
! 132: require_once("clean_table.inc");
! 133: ?>
! 134: --EXPECTF--
! 135: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>