如何创建视图和获取数据mysql PHP javascript
how to create view and get data mysql php javascript
我有数据库'testdatabase',并希望创建一个从表' testtablee '列'值'的视图,然后想要在之前创建的视图值中求和行。然后将其存储在javascript数组中。我已经把这个代码,但不知道我在哪里犯了错误。它没有显示任何东西,甚至没有一个空白的消息框。
<script>
var data=[
<?php
$connection =mysql_connect("localhost","root","") or die ("we couldn't connect!");
mysql_select_db("testdatabase");
$query = mysql_query("CREATE VIEW view1 AS SELECT value FROM testtable") or die(mysql_error());
mysql_fetch_array($query);
$r2 = mysql_query("SELECT SUM(value) FROM view1;") or die(mysql_error());
while($row = mysql_fetch_array($r2))
{
echo $row['value'].',';
}
?>];
window.alert(data);
</script>
将函数添加到返回列时,返回列的名称会发生变化。强制声明的名称'作为值'应该起作用:
"SELECT SUM(value) as value FROM view1;"
完整回答:
<script>
var data=[
<?php
$connection =mysql_connect("localhost","root","") or die ("we couldn't connect!");
mysql_select_db("testdatabase");
$query = mysql_query("CREATE OR REPLACE VIEW view1 AS SELECT value FROM testtable") or die(mysql_error());
$r2 = mysql_query("SELECT SUM(value) as value FROM view1;") or die(mysql_error());
while($row = mysql_fetch_array($r2))
{
echo $row['value'].',';
}
?>];
window.alert(data);
</script>
首先,您将PHP代码嵌套在JavaScript函数中,这是一个非常糟糕的主意。如果继续这样编码,就会出现难以追踪的错误。如果在JavaScript中需要数据,可以输出PHP结果或使用AJAX检索值。
下面是一个更清晰的例子:
<?php
$connection =mysql_connect("localhost","root","") or die ("we couldn't connect!");
mysql_select_db("testdatabase");
$query = mysql_query("CREATE OR REPLACE VIEW view1 AS SELECT value FROM testtable") or die(mysql_error());
$r2 = mysql_query("SELECT SUM(value) as value FROM view1;") or die(mysql_error());
$result = mysql_fetch_array($r2); // there is only one result
?>
<script>
var data = [ <?php echo $result['value']; ?> ];
</script>
如注释中所述,mysql_*
函数已被弃用,并已在PHP 7中删除。任何使用PHP的人都应该学习如何将预处理语句与MySQLi API一起使用,或者最好是PDO API。使用预处理语句的另一个好处是可以防止SQL注入攻击。
第二,'value'是MySQL关键字。您应该更改列的名称。如果您坚持保留列的名称,则必须使用反勾号来区分它:
CREATE VIEW `view1` AS SELECT `value` FROM `testtable`
SELECT SUM(`value`) FROM `view1`
此外,在创建视图的第一个查询之后不需要获取数组。您没有在任何地方使用CREATE
的结果。
相关文章:
- 使用jquery将mysql数据获取到新的表行中
- 使用createContainer将Meteor数据获取到React Native中时出现问题
- 创建按钮,根据表单字段中的数据获取特定的URL
- 将JSON API数据获取到html
- 将json数据获取到数组中
- 如何将具有多个标签的多个的所有数据获取到一个数组中
- 将状态的 URL 数据获取到模板中
- 如何在jquery中将xml解析数据获取为全局变量
- 在没有JQuery的情况下将JSON数据获取到TVML项目中
- Angular js如何将索引数据获取到另一个模板中
- 如何将PHP Post数据获取到jquery ajax请求中
- 使用javascript中.data()中存储的数据获取变量
- 无法将动态数据获取到 Jquery 饼图中
- 将节点.js neDB 数据获取到变量中
- 更新页面 JSON 数据获取下拉更改
- 将数据绑定到 kendo 下拉列表时,如何将 ajax 响应数据获取到变量
- 画布图像数据获取的值不超过 102,000 个
- 如何通过 JQuery JSON 数据获取 CheckBox(@Html.CheckBox) 的值
- 从html到jquery再到php,再从php到jquery到html,将数据传递到php文件并将数据获取到php文件中
- 如何将Jquery.get中的数据获取到Javascript中的一个变量中