1

我一直在互联网上搜索一个 mysqli 字符串操作函数,它只会从表行中获取指定数量的字符,我能找到的最接近的是 mysql LEFT(),它的工作原理如下:

"SELECT LEFT(content, 20) FROM  articles WHERE id='1'"

所以它的作用是从这一行中只获得 20 个字符,但是当我尝试在我的代码中执行此操作时,这就是

$sql = "SELECT id,byid,LEFT(content, 25),date_added FROM articles WHERE id='1' LIMIT 10";
$query = mysqli_query($database, $sql);

我可以获取除内容行之外的所有其他行,我做了一些研究,我意识到 LEFT(row, int) 的每个示例都是 mysql 示例而不是 mysqli,我现在可以使用 php 实现我需要的substr(); 功能,但要获取的内容非常大,我不想通过下载大量不会在浏览器上使用的数据来减慢我的网站速度,

谢谢你 :)

4

1 回答 1

3
  1. 您正在使用的数据库仍然是 MySQL。而 mysqli 只是一组用于 mysql 数据库的 PHP 函数。
  2. 要解决这个愚蠢的问题,只需添加一个别名

    SELECT id,byid,LEFT(content, 25) as cut,date_added FROM articles WHERE id='1' LIMIT 10";
    
  3. mysqli真正需要的是准备好的语句。变量不应该直接进入查询,而只能通过占位符

于 2013-08-13T13:17:48.273 回答