我不知道到底发生了什么,但是当我上传我的网站时,所有列中只有第一个字符被返回。它在本地机器上工作得很好。MySQL只返回字段的第一个字符,但在本地工作正常
我发现了一个类似的问题在这里,但我没能找到答案:
https://stackoverflow.com/questions/10507848/mysql-query-returns-only-the-first-letter-of-strings-only-when-page-is-viewed-on
// Log Table Query
unset($stmt);
$stmt = $db->stmt_init();
$stmt = $db->prepare("SELECT * FROM logs ORDER BY `id` DESC");
$stmt->store_result();
$stmt->bind_result($r_id, $r_time, $r_logger, $r_message, $r_category);
$stmt->execute();
while($stmt->fetch())
{
var_dump($r_message);
var_dump($r_category);
}
$stmt->close();
在localhost此输出例如:
串(5)“你好“字符串(3)”牛“
但在服务器上:
串(1) “H” 串(1) “C”
任何想法?
编辑
我认为,这仅适用于字符串类型。整数类型返回例如:
INT(2893)
是您的模式在两个系统上一样吗?运行这个查询直接产生什么? – tadman
@tadman是的,它是。我实际上连接到相同的外部托管数据库。当在MySQL Workbench中直接运行查询时,它会产生预期的结果。 – Z0q
我猜你正在使用'mysqli',也许你考虑从你的localhost和你的web服务器的php版本,以及你的数据类型。 – yul757