Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php str_拆分并从mysql获取数据_Php_Mysql - Fatal编程技术网

Php str_拆分并从mysql获取数据

Php str_拆分并从mysql获取数据,php,mysql,Php,Mysql,也许有人能帮我解决这个问题。这对我来说有点棘手 我指的是一个很长的数字(比如102030)。现在我想把这个长数字分成短数字(比如102030)。这些短数字是mysql数据库中的id,我希望通过它们获得每个短数字的所有id_名称(如name-10 name-20 name-30) 为了分割长数字,我使用了str_split,但我现在不知道如何使用这个数组 这是我的密码。 (此代码之前包含数据库) 更改此选项 $long_id =$_GET[long_id]; 到 你可以试试这个 $re

也许有人能帮我解决这个问题。这对我来说有点棘手

我指的是一个很长的数字(比如102030)。现在我想把这个长数字分成短数字(比如102030)。这些短数字是mysql数据库中的id,我希望通过它们获得每个短数字的所有id_名称(如name-10 name-20 name-30)

为了分割长数字,我使用了str_split,但我现在不知道如何使用这个数组

这是我的密码。 (此代码之前包含数据库)

更改此选项

   $long_id =$_GET[long_id];

你可以试试这个

  $result = mysql_query("SELECT id, id_name FROM names WHERE id= '$split_id[0]' ");
如果您还需要其他数字,这将查找前两个数字

你可以加上

    OR id= '$split_id[1]' OR  id= '$split_id[2]' ....

好的。让我们重新思考一下您的设计,而不是停留在粗略的设计路径上

你的数据

你有一个很长的数字,
102030
,你把它分开。我可以问一下,怎么做?您没有分隔字符。PHP如何知道一个数字的起点和终点?看来你已经习惯了“每两个字符”。这是非常严格的代码

我建议采用CSV方法,并使用逗号分割数字。这样,如果您必须进行调试,代码的可读性就会大大提高,代码也会更加灵活。这意味着您可以将
1
4904909
作为ID,而不是
01

您的数据库连接


您正在使用不推荐使用的代码!不推荐使用的代码不再受支持,并且在更高版本的PHP中将无法工作。您需要将代码更新为或使用对象。

让我们假设$\u GET['long\u id']包含值“102030”

那么你的位置应该是这样的:

WHERE id=$split_id[0] OR id2=$split_id[1] OR id3=$split_id[2]
要仅显示所有单独的id,可以执行以下操作:

$long_id =$_GET[long_id];
foreach ($split_id as $id)
{
  echo "This is a id: ".$id."<br />";
}
$long\u id=$\u GET[long\u id];
foreach($split_id作为$id)
{
echo“这是一个id:.$id.”
; }
输出: 这是身份证号码:10 这是身份证号码:20
这是一个id:30

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。您的意思是您缺少where here
$result=mysql\u查询(“从where…的名称中选择id,id\u name”)谢谢您的参考。会考虑它…好吧,我用PDO连接尝试了。结果是空的,没有结果,没有错误。你试过调试你的代码,并在运行时检查值吗?好的,我想要的就是这样。但是$val现在在哪里呢?
WHERE id=$split_id[0] OR id2=$split_id[1] OR id3=$split_id[2]
$long_id =$_GET[long_id];
foreach ($split_id as $id)
{
  echo "This is a id: ".$id."<br />";
}