Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。
4年前关闭。
好吧,我这里确实有一个奇怪的问题。我正在尝试通过PHP选择行,但是由于某种原因,它只是无法获取行数据!在获取数字行或任何东西时没有任何问题。
注意:我通过C#WinForm发送参数,这可能是问题的原因(排序规则或其他原因)?
状态是
编辑:表中数据的XML表示形式。
编辑2:解决了问题。绑定参数后,我正在实例化
版画
如预期的那样。
想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。
4年前关闭。
好吧,我这里确实有一个奇怪的问题。我正在尝试通过PHP选择行,但是由于某种原因,它只是无法获取行数据!在获取数字行或任何东西时没有任何问题。
注意:我通过C#WinForm发送参数,这可能是问题的原因(排序规则或其他原因)?
$stmt_GetSalt = $con->prepare("SELECT Salt,Status FROM Accounts WHERE Email=?");
$stmt_GetSalt->bind_param("s", $email);
$stmt_GetSalt->execute();
$stmt_GetSalt->bind_result($salt, $status);
$stmt_GetSalt->fetch();
$stmt_GetSalt->close();
状态是
int
,但返回值没有问题。 Salt是varchar
,但没有数据返回。这里发生了什么?编辑:表中数据的XML表示形式。
<table name="Accounts"> <column name="Email">[email protected]</column> <column name="Password">65T6ANoLeSrBA</column> <column name="Salt">65fe93d93e283f002beaca712fd178c6</column> <column name="PIN">81dc9bdb52d04dc20036dbd8313ed055</column> <column name="Status">0</column> <column name="ID">5</column></table>
编辑2:解决了问题。绑定参数后,我正在实例化
$email
。因此,该语句试图绑定尚不存在的参数。我不应该在深夜编码。 最佳答案
我无法重现问题
<?php
mysqli_report(MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'localonly', 'localonly', 'test');
setup($mysqli);
var_export( foo($mysqli, '[email protected]') );
function foo($con, $email) {
$stmt_GetSalt = $con->prepare("SELECT Salt,Status FROM soFoo WHERE Email=?");
$stmt_GetSalt->bind_param("s", $email);
$stmt_GetSalt->execute();
$stmt_GetSalt->bind_result($salt, $status);
$stmt_GetSalt->fetch();
$stmt_GetSalt->close();
return array('salt'=>$salt, 'status'=>$status);
}
function setup($mysqli) {
$mysqli->query('
CREATE TEMPORARY TABLE soFoo (
Salt varchar(32),
Status int,
email varchar(32)
)
');
$mysqli->query("
INSERT INTO soFoo (Salt,Status,email) VALUES
('65fe93d93e283f002beaca712fd178c6', 0, '[email protected]')
");
}
版画
array (
'salt' => '65fe93d93e283f002beaca712fd178c6',
'status' => 0,
)
如预期的那样。
关于c# - PHP准备的语句-无法选择Varchar行,选择数字行没有问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31353979/
10-14 13:03