gpt4 book ai didi

php - 为什么 MySql 中有文本时没有值

转载 作者:行者123 更新时间:2023-11-29 00:12:55 26 4
gpt4 key购买 nike

我使用 mysql 创建了一个用户表:

CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(250) DEFAULT NULL,
`department` varchar(250) NOT NULL,
`tel` varchar(50) NOT NULL,
`email` varchar(255) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`role` text NOT NULL,
`other` text NOT NULL,
`status` int(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `department` (`department`)
);

然后我在 Slim 框架中使用此 php 代码来创建一些 RESTful api:

// GET all users route
$app->get('/users', function () {

$sql = 'SELECT * FROM users ORDER BY name';

try {
$db = getConnection();
$stmt = $db->query($sql);
$users = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;

echo '{"users":' . json_encode($users) . '}';

} catch(PDOEXCEPTION $e) {
echo '{"error": { text: ' . $e->getMessage() . '}}';
}
});

Backnone

define([
'underscore',
'backbone'
],
function(_, Backbone) {

return Backbone.Model.extend({

//urlRoot: 'scripts/data/users',

defaults: {
id: 0,
name: 'anon',
department: 'Agency Anon',
tel: '0207 123 45 67',
email: 'anon@sample.com',
date: '1 January 2014',
role: 'Snr Developer',
other: 'Lorem ipsum',
status: 0
}
});
});

所有这些都按预期工作,即所有字段都返回异常结果,除了 roleother 字段在 firebug 控制台中返回空值。

我得到的结果(注意roleother,它们应该是文本,而不是null:

{
"users":[{
"id":"1",
"name":"Sabrina Materoli",
"department":"Marketing",
"tel":"0207 000 1110",
"email":"sabrina@company.com",
"date":"2014-06-12 11:43:43",
"role":null,
"other":null,
"status":"0"
}]
}

有人可以告诉我做错了什么吗?

最佳答案

经过长时间的讨论,我找到了解决您的错误的方法。

问题只发生在 特殊字符 与您的文本字段混合时。像 @, $...

尝试使用 utf8_general_ci 进行数据库整理。

关于php - 为什么 MySql 中有文本时没有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24182869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com