mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-09-02 01:22:37 +00:00
Fixes #2967, Missing quotes cause SQL errors in some cases
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@5816 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
e750c9d38f
commit
e1c26c9948
3 changed files with 16 additions and 5 deletions
|
@ -223,7 +223,7 @@ class DboMysql extends DboSource {
|
|||
case 'integer' :
|
||||
case 'float' :
|
||||
case null :
|
||||
if (is_numeric($data) && strpos($data, ',') === false) {
|
||||
if (is_int($data) || is_float($data) && strpos($data, ',') === false) {
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
|
@ -209,7 +209,7 @@ class DboMysqli extends DboSource {
|
|||
case 'integer' :
|
||||
case 'float' :
|
||||
case null :
|
||||
if (is_numeric($data)) {
|
||||
if (is_int($data) || is_float($data) && strpos($data, ',') === false) {
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
|
@ -150,7 +150,6 @@ class DboMysqlTest extends UnitTestCase {
|
|||
* @access public
|
||||
*/
|
||||
function testQuoting() {
|
||||
$this->skipif ($this->Db->connected, 'Could not connect to database');
|
||||
$result = $this->Db->fields($this->model);
|
||||
$expected = array(
|
||||
'`MysqlTestModel`.`id`',
|
||||
|
@ -176,11 +175,23 @@ $this->skipif ($this->Db->connected, 'Could not connect to database');
|
|||
|
||||
$expected = 1.2;
|
||||
$result = $this->Db->value(1.2, 'float');
|
||||
$this->assertIdentical($expected, $result);
|
||||
$this->assertEqual($expected, $result);
|
||||
|
||||
$expected = "'1,2'";
|
||||
$result = $this->Db->value('1,2', 'float');
|
||||
$this->assertIdentical($expected, $result);
|
||||
$this->assertEqual($expected, $result);
|
||||
|
||||
$expected = "'4713e29446'";
|
||||
$result = $this->Db->value('4713e29446');
|
||||
$this->assertEqual($expected, $result);
|
||||
|
||||
$expected = 10010001;
|
||||
$result = $this->Db->value(10010001);
|
||||
$this->assertEqual($expected, $result);
|
||||
|
||||
$expected = "'00010010001'";
|
||||
$result = $this->Db->value('00010010001');
|
||||
$this->assertEqual($expected, $result);
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue