Php 从PDO函数数组获取变量到另一页
我在一个名为Php 从PDO函数数组获取变量到另一页,php,arrays,mysqli,pdo,Php,Arrays,Mysqli,Pdo,我在一个名为optionals的表中有多行,我正试图在单个函数中逐个获取它们。 表中包含: id | name | stock 1 | article1 | 500 2 | article2 | 255 在functions.php function getStocks($mysqli) { $stmt = $mysqli->query("SELECT * FROM optionals"); $result = $stmt->fetch_all();
optionals
的表中有多行,我正试图在单个函数中逐个获取它们。
表中包含:
id | name | stock
1 | article1 | 500
2 | article2 | 255
在functions.php
function getStocks($mysqli)
{
$stmt = $mysqli->query("SELECT * FROM optionals");
$result = $stmt->fetch_all();
//get the first row values
$nameOptional1 = $result[0][1];
$stockOptional1 = $result[0][2];
//get the second row values
$nameOptional2 = $result[1][1];
$stockOptional2 = $result[1][2];
... //and code continues until I reached the last row
}
var\u转储($result[0])
将显示:
C:\wamp64\www\functions.php:42:
array (size=3)
0 => string '1' (length=1)
1 => string 'article1' (length=19)
2 => string '500' (length=3)
1。我想在index.php
中显示$nameologional1,
,例如,但我无法做到这一点。我试过这样的方法:
include_once“functions.php”代码>
$nameOptional1=getStocks($mysqli)代码>
echo$nameOptional1代码>
2.这是使用准备好的语句获取每行值的好方法吗?如果不是,最好的方法是什么?由于无法进行Sql注入,我刚切换到PHP编写的语句。您是在函数中回显这些变量还是返回它?是否安装了MySQL本机驱动程序供您使用?您是否通过php的错误报告和查询检查错误?如果没有用户输入,则不需要使用预先准备好的语句。是的,有用户输入。查看您发布的代码,情况似乎并非如此。但是,是的,如果涉及用户输入,就使用它们。顺便提一下您还回答了几个问题中的一个。如果我在index.php中使用return$nameOptional1
和return$stockOptional1
,无论$stockOptional1=getStocks($mysqli)$nameOptional1=getStocks($mysqli)
将只回显函数的第一个返回值。这是因为返回值只返回“一”个参数,除非您这样连接:return$parameter1。" " . $参数2代码>按照手册-您还需要某种形式的循环;无论是foreach
还是while
。
function getStocks($mysqli)
{
$sql = $mysqli->query("SELECT * FROM optionals");
$result=mysqli_query($con,$sql);
// Fetch all
mysqli_fetch_all($result,MYSQLI_ASSOC);
//get the first row values
$nameOptional1 = $result[0][1];
$stockOptional1 = $result[0][2];
//get the second row values
$nameOptional2 = $result[1][1];
$stockOptional2 = $result[1][2];
... //and code continues until I reached the last row
}