小编You*_*nse的帖子

PDO utf-8字符问题

我目前正在开发一个项目,而不是使用常规的MySQL查询,我认为我会继续学习如何使用PDO.

我有一个名为参赛者的桌子,数据库,桌子和所有栏目都在utf-8中.我在参赛者表中有十个参赛作品,他们的专栏"名称"包含åäö等人物.

现在,当我从数据库中获取一个条目,并且var_dump名称时,我得到一个好结果,一个包含所有特殊字符的字符串.但我需要做的是按字符分割字符串,将它们放入一个我随后洗牌的数组中.

例如,我有这个字符串: 测试ÅÄÖTåän

当我运行str_split时,我会在数组中获取它自己的键中的每个字符.唯一的问题是所有特殊字符都显示为: ,表示数组将如下所示:

Array
(
    [0] => T
    [1] => e
    [2] => s
    [3] => t
    [4] =>  
    [5] => ?
    [6] => ?
    [7] => ?
    [8] => ?
    [9] => ?
    [10] => ?
    [11] =>  
    [12] => T
    [13] => ?
    [14] => ?
    [15] => ?
    [16] => ?
    [17] => n
)
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它不仅会弄乱角色,而且还会在str_split进程中复制它们.我已经尝试了几种方法来分割字符串,但它们都有相同的问题.当我在分割之前输出字符串时,它会显示特殊字符.

这是我的dbConn.php代码:

//需要配置文件:require_once('config.inc.php');

// Start PDO connection:
$dbHandle = new PDO("mysql:host=$dbHost;dbname=$dbName;charset=utf-8", $dbUser, $dbPass);
$dbHandle -> exec("SET CHARACTER SET …
Run Code Online (Sandbox Code Playgroud)

php string utf-8

46
推荐指数
3
解决办法
8万
查看次数

人名的所有允许字符是什么?

有标准的AZ,az字符,但也有连字符,em破折号,引号等.

此外,还有所有的国际角色,如变形金刚等.

那么,对于基于英语的系统,完整的设置是什么?那些其他语言的集合呢?UTF8,UTF16等怎么样?

奖金问题:需要多少名称字段,以及它们的最大长度是多少?

编辑:人名中肯定有两种不同类型的字符,那些作为上下文的一部分,以及那些由于结构原因而存在的字符.我不想限制或干扰上下文字符,但我确实需要处理结构上的字符.

例如,我有一个名字,它被一个em破折号分开,但是很难将它与减号区分开来.为了使系统更容易搜索,我想采用所有五种不同类型的破折号,并将它们映射到一个唯一字符(减号),这样搜索者就不需要具体知道最初输入的符号.

破折号也存在问题,可能还有引号,还有多少其他符号?

character names character-encoding

43
推荐指数
4
解决办法
6万
查看次数

PDO PHP Fetch Class

我正在学习pdo中的pdo,以便使数据库访问更容易和更有效.我读过fetch _class的一个解释是你的对象的属性是在调用构造函数之前设置的.这是什么意思?任何方向都非常感谢.

php pdo

41
推荐指数
2
解决办法
6万
查看次数

使用PHP,MySQLi和Prepared Statement,我如何返回插入行的id?

我想检索数据库中插入行的id,但我不知道如何做到这一点.

我试图使用SQL子句返回RETURNING id,但不起作用.

如何在插入行后返回id?

php mysql mysqli prepared-statement

36
推荐指数
3
解决办法
3万
查看次数

使用PHP/PDO连接MySQL时出错

昨天我的代码工作正常,今天它突然只是不想连接到我的数据库.我没有更改它或代码上的设置,我也没有更新任何软件.我所做的就是:

__CODE__

我收到一条很好的异常消息说:

__CODE__

问题是:我显然没有尝试使用unix socket连接,而是使用TCP/IP.我究竟做错了什么?这里有什么我想念的吗?

谢谢你的帮助.

php mysql pdo

33
推荐指数
2
解决办法
5万
查看次数

目标C中的短IF ELSE语法

在目标C中有if-else语句的简短语法,如PHP:

if($value)
return 1;
else
return 0;
Run Code Online (Sandbox Code Playgroud)

较短的版本:

return $value?1:0;
Run Code Online (Sandbox Code Playgroud)

syntax if-statement objective-c ios

33
推荐指数
2
解决办法
4万
查看次数

如何调试jquery AJAX调用?

我一直在努力让AJAX与Jquery一起工作.到目前为止我的大问题是我真的不知道如何弄清楚我犯了什么错误.我没有一个很好的方法来调试AJAX调用.

我正在尝试设置一个管理页面,其中我想要做的一个功能是更改我的SQL数据库中的权限集.我知道.click函数正在被触发,所以我把它缩小了,但是我不确定从AJAX调用SQL查询到哪里出错了.

我的.js代码:

$('#ChangePermission').click(function(){
    $.ajax({
        url: 'change_permission.php',
        type: 'POST',
        data: {
        'user': document.GetElementById("user").value,
        'perm': document.GetElementById("perm").value
        }
    })
})
Run Code Online (Sandbox Code Playgroud)

我的.php处理程序:

<?php  
require_once(functions.php);

echo $_POST["user"];

try{
    $DBH = mysql_start();

    $STH = $DBH->prepare("INSERT INTO people ( username, permissions ) values (?, ?)");

    $STH->bindParam(1, $_POST["user"]);
    $STH->bindParam(2, $_POST["perm"]);

    $STH->execute();
}
catch(PDOException $e){
    echo $e->getMessage;
}?>
Run Code Online (Sandbox Code Playgroud)

mysql_start是为我在其他SQL调用中成功使用的PDO函数设置的.

我已经研究和查找教程几天了,我不能为我的生活弄清楚出了什么问题.我可以使用工具找出错误发生的位置吗?我显然对这个特定问题的答案很感兴趣,但我认为我的更大问题是我不知道从哪里开始调试.谢谢你的帮助!

javascript php ajax jquery

31
推荐指数
3
解决办法
10万
查看次数

DELETE FROM`table` AS`alias` ... WHERE`alias``column` ...为什么语法错误?

我用MySQL试过这个:

DELETE FROM `contact_hostcommands_relation` AS `ContactHostCommand` WHERE (`ContactHostCommand`.`chr_id` = 999999) LIMIT 1
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (`ContactHostCommand`.`chr_id` = 999999) LIMIT 1' at line 1
Run Code Online (Sandbox Code Playgroud)

注意:此查询是自动生成的,条件基于表别名.

为什么我会收到此错误?

有没有办法在where子句中使用表别名?

这个MySQL是否具体?

mysql sql syntax alias

29
推荐指数
3
解决办法
3万
查看次数

如何测试Ci是否成功插入数据

在Ci中,我有以下功能.如何测试成功插入的查询没有错误?

public function postToWall() {
    $entryData = $this->input->post('entryData');
    $myChurchId  = $this->session->userdata("myChurchId");
    $this->db->query("INSERT IGNORE INTO wallPosts (entryData, entryCreationDateTime, wpChurchId)
                      VALUES('$entryData', NOW(), '$myChurchId')");
}
Run Code Online (Sandbox Code Playgroud)

php mysql codeigniter

25
推荐指数
2
解决办法
4万
查看次数

MySQL导出查询作为插入语句

我有两个mysql表,它们都有一个共同的typeID.我想从这两个表中选择具有相同typeID的所有内容,查询如下:

SELECT ta.requiredTypeID, ta.typeID, ta.quantity 
  FROM `invtypes` as t, `typeactivitymaterials` as ta 
  WHERE volume > 0 AND t.typeID = ta.typeID;
Run Code Online (Sandbox Code Playgroud)

这给了我正确的结果,但我试图将此查询导出为插入语句.我已经尝试添加INTO OUTFILE"/ path /"但这只是将数据导出为制表符/逗号分隔数据,是否可以将此数据导出为insert语句?

干杯

EEF

mysql export

22
推荐指数
5
解决办法
5万
查看次数