php - 尝试从 MySQL 访问 PHP 中的存储过程

标签 php mysql

因此,我在 phpMyAdmin 中创建了一个名为 Ratio_Viewer 的存储过程。它接受一个参数,即股票行情。我在 phpMyAdmin 中测试了它,并收到了正确的元组。现在我正在尝试将其合并到我的 php 文件中。我有一个页面,您可以在其中输入股票代码,然后它会将您带到另一个页面,该页面应该根据您输入的股票代码向您显示数据。什么也没有得到返回。我的代码是:

require 'connection.php';
$sql = "CALL Ratio_Viewer('" . $_REQUEST["ticker"] . "')";

if(!$result = $mysqli->query($sql)) {
  echo "error: " . $mysqli->error . "<br>";
  exit;
}

echo ($result->fetch_assoc());

最佳答案

您的代码正在运行。

echo ($result->fetch_assoc());

将简单地打印“Array”。在这种情况下,PHP 不会以可读格式打印数组。

您可以使用print_rvar_dump或者实现一个循环来打印您想要的数据。例如,

foreach ($result->fetch_assoc() as $k => $v) echo "$k is $v <br>";

您的代码容易受到 SQL injection 的攻击.

关于php - 尝试从 MySQL 访问 PHP 中的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40687618/

相关文章:

php - 如何导出 Moodle 中所有类(class)的所有成绩?

java - 如何提高 Solr 性能?

mysql - .Net用户登录程序

php - 用多种变体替换字符串

php - 在 codeigniter 中生成多个结果

php - 如何在 PHP 中跳过结果集中的行?

php - 哪个类理想地分配属性 : User or UserFactory?

PHP 处理包含随机数量项目的 list

php - 一次运行多个 mysql 命令而不是在代码点火器中顺序运行?

PHP-Laravel : How to save without time overlapping in DB