【发布时间】:2015-12-10 14:43:17
【问题描述】:
我正在使用 AJAX 对包含要添加到数据库的信息的 PHP 脚本进行“加载调用”,脚本如下:
<?php
$create_tables = "
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`name` varchar(255) NOT NULL UNIQUE,
`password` varchar(255) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `user_details`
(
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`email_address` varchar(255) NOT NULL UNIQUE,
`address1` varchar(500) NULL,
`address2` varchar(500) NULL,
`address3` varchar(500) NULL,
`postcode` VARCHAR(10) NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 CHARSET=latin1;
INSERT IGNORE INTO `user` (`id`, `name`, `password`) VALUES (1, 'admin', '704b037a97fa9b25522b7c014c300f8a');
INSERT IGNORE INTO `user_details` (`id`, `email_address`) VALUES (1, 'sam.swift@fifteendigital.co.uk');
";
function cre($query)
{
$link = new mysqli();
$link->real_connect("localhost", "root", "", "overr");
return $link->query($query) ? "true" : "false";
}
print cre($create_tables);
?>
AJAX 是这样调用的:
function _ajax( u, t )
{
$.ajax( {
url: u,
type: "GET",
success: function ( r )
{
$( "#test" ).html( r );
console.log( r );
return r;
},
beforeSend: function ()
{
$( t ).html( "Loading" );
}
} );
}
$( document ).ready( function ()
{
_ajax( "aj/tables.php", "#null" );
} );
当我在 phpmyadmin 中调用查询时,它运行良好,但是当我从加载页面通过 AJAX 调用它时,控制台被记录为“false”,我怎样才能让它执行脚本并返回 true ,即使数据库中没有任何内容,我仍然会通过向客户端返回“假”。
这样做的目的是在做任何事情之前设置环境,以确保一切就绪并正常工作,这个系统将来会改变,但现在我只需要让它工作
【问题讨论】:
-
你不能在单个查询中执行多个语句。
-
分离查询,一一执行!
标签: javascript php jquery mysql ajax