PHP准备好的语句->仅返回数据库列中的第一个字母
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP准备好的语句->仅返回数据库列中的第一个字母,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2020字,纯文字阅读大概需要3分钟。
内容图文
![PHP准备好的语句->仅返回数据库列中的第一个字母](/upload/InfoBanner/zyjiaocheng/882/4ba94a67615c4fc7887787b3e11f4e6c.jpg)
我有这个密码
$sql = "SELECT name FROM data WHERE id=? LIMIT 0,1";
//prepares statement
$stmt = self::getConnection()->prepare($sql);
$stmt->bind_param("i", $id);
$ids = array(1,2,3);
foreach ($ids as $key => $id) {
$stmt->execute();
$stmt->bind_result($name);
$stmt->fetch();
$stmt->store_result();
var_dump($name);
}
我的数据库表如下所示
id | name
1 | First Name
2 | Second Name
3 | Third Name
现在输出看起来像这样:
string(10) "First Name"
string(1) "S"
string(1) "T"
名字是正确的.但随后它仅输出以下各行的第一个字母.我不知道为什么
我尝试了另一种整数类型的列.那行得通.只是此字符串类型的列没有.
我还尝试用以下方式更改$ids-Array:$ids = array(2,3,1).然后输出
string(11) "Second Name"
string(1) "T"
string(1) "F"
我不知道该怎么办.有人看到我的错误吗?
编辑:
PHP 5.5和Mysql 5.5.31和var_dump:
编辑2:
-- phpMyAdmin SQL Dump
-- version 4.0.5
-- http://www.phpmyadmin.net
--
-- Host: rdbms
-- Erstellungszeit: 07. Jun 2014 um 19:21
-- Server Version: 5.5.31-log
-- PHP-Version: 5.3.27
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Datenbank: `DB1673555`
--
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` tinytext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
INSERT INTO `data` (`id`, `name`) VALUES
(1, 'First Name'),
(2, 'Second Name'),
(3, 'Third Name');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
我只是看到转储说我使用PHP 5.3.但在Strato网站上,他们说5.5
解决方法:
这是我发现的.我认为原因是在tinytext类型中.因为当我使用数据库转储时,该错误会在本地PC上重现.但是,只要将列类型更改为varchar 255,代码就可以正常工作.
内容总结
以上是互联网集市为您收集整理的PHP准备好的语句->仅返回数据库列中的第一个字母全部内容,希望文章能够帮你解决PHP准备好的语句->仅返回数据库列中的第一个字母所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。