首页 > 解决方案 > php dot 和 mysql dot 不匹配

问题描述

嗨,我有一个看起来像这样的表:

|   vend   |   prod_name   |   price   |   qty   |
|----------|---------------|-----------|---------|
|   vend1  |   red wine    |   15.00   |    3    |
|----------|---------------|-----------|---------|
|   vend1  |  nike tg. 42  |   70.00   |    10   |
|----------|---------------|-----------|---------|

下面代码的问题是,当我为红酒更新 qty 时一切正常,但是当我对 nike tg 做同样的事情时。42 更新不起作用。我认为问题在于我无法删除的那个点。数据库的默认字符集是 latin1,整理是 latin1_general_cs。

 $connection = mysqli_connect($host, $DBuser, $Dbpass, $databaseName);
 $query = 'update prodotti set qty = ? where vend = ? and prod_name = ?';
 $st = mysqli_prepare($connection, $query);
 mysqli_stmt_bind_param($st, 'iss', $value, $_SESSION['NomeUtente'], $key);
 mysqli_stmt_execute($st);
 mysqli_stmt_close($st);

请注意,我已经打印了 $key 变量,它正是 nike tg。42

标签: phpmysql

解决方案


使用这样的查询

update prodotti set qty = '11' where vend = 'vend1' and prod_name = 'nike tg. 42';

我只想显示使用您在单引号中获得的值我给出的上述查询对我来说效果很好我认为mysqli_stmt_bind_param()导致错误bcos你无法使用它获取单引号尝试直接查询并获取值本身尝试如果有任何错误,请回复


推荐阅读