导航:首页 > 编程语言 > phpmysqldecimal

phpmysqldecimal

发布时间:2022-05-18 06:18:10

① 在php做mysql查询中为什么sum(字段名)出错!

sum以最精确的 expression 数据类型返回所有表达式值的和
返回结果:
money 精确到货币单位的千分之十
float(n) n在1-14,精度7位,25-53,精度15位
decimal 精度38位
int 精度为整数位数

sum求的和超过mediumint所表示的精度了,考虑换种类型

② 选择MySQL数据库的命令以及PHP脚本下的操作方法

在你连接到
MySQL
数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。
从命令提示窗口中选择MySQL数据库

mysql>
提示窗口中可以很简单的选择特定的数据库。你可以使用SQL命令来选择指定的数据库。
实例
以下实例选取了数据库
TUTORIALS:
[root@host]#
mysql
-u
root
-p
Enter
password:******
mysql>
use
TUTORIALS;
Database
changed
mysql>
执行以上命令后,你就已经成功选择了
TUTORIALS
数据库,在后续的操作中都会在
TUTORIALS
数据库中执行。
注意:所有的数据库名,表名,表字段都是区分大小写的。所以你在使用SQL命令时需要输入正确的名称。
使用PHP脚本选择MySQL数据库
PHP
提供了函数
mysql_select_db
来选取一个数据库。函数在执行成功后返回
TRUE
,否则返回
FALSE

语法
bool
mysql_select_db(
db_name,
connection
);
实例
以下实例展示了如何使用
mysql_select_db
函数来选取一个数据库:
<html>
<head>
<title>Selecting
MySQL
Database</title>
</head>
<body>
<?php
$dbhost
=
'localhost:3036';
$dbuser
=
'guest';
$dbpass
=
'guest123';
$conn
=
mysql_connect($dbhost,
$dbuser,
$dbpass);
if(!
$conn
)
{
die('Could
not
connect:
'
.
mysql_error());
}
echo
'Connected
successfully';
mysql_select_db(
'TUTORIALS'
);
mysql_close($conn);
?>
</body>
</html>
PS:MySQL
的数据类型
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值类型
MySQL支持所有标准SQL数值数据类型。
这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE
PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。
日期和时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
TIMESTAMP类型有专有的自动更新特性。
字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。
CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
BINARY和VARBINARY类类似于CHAR和VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。
BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。
有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。

③ php表单写入mysql数据库的代码

<!--表单文件,拷入index.php-->
<!DOCTYPEhtml>
<html>
<head>
<style>
label{display:inline-block;width:100px;margin-bottom:10px;}
</style>


<title>Addstudents</title>
</head>
<body>

<!--数据库用mysqli面向过程调用方法-->
<formmethod="post"action="write2db.php">

<!--数据库用mysqli面向过程调用方法
<formmethod="post"action="write2db_sqlio.php">
-->
<!--数据库用PDO调用方法
<formmethod="post"action="write2db_pdo.php">
-->

<label>FirstName</label>
<inputtype="text"name="first_name"/>
<br/>
<label>LastName</label>
<inputtype="text"name="last_name"/>
<br/>
<label>department</label>
<inputtype="text"name="department"/>
<br/>
<label>Email</label>
<inputtype="text"name="email"/>

<br/>
<inputtype="submit"value="Addstudents">
</form>

</body>
</html>

------------------------------

<?php
//拷贝命名为write2db.php,数据库用mysqli面向过程调用方法
//print_r($_POST);

//createavariable
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
$department=$_POST['department'];
$email=$_POST['email'];

//调试用
echo"Yourinput:";
echo$first_name;
echo'<br/>';
echo$last_name;
echo'<br/>';
echo$department;
echo'<br/>';
echo$email;
echo'<br/>';


$servername="localhost";
//
//$username="username";
//$password="password";
$username="tester";
$password="testerPassword";
//yourdatabasename
$dbname="test";

$tablename="student";//Createconnection
$connect=mysqli_connect($servername,$username,$password,$dbname);

if(!$connect){
die("Connectionfailed:".mysqli_connect_error());
}
//Executethequery

$sql="INSERTINTO$tablename(first_name,last_name,department,email)
VALUES('$first_name','$last_name','$department','$email')";


if(mysqli_query($connect,$sql)){
echo"Hooray!.Pleasecheckdatabase.";
}else{
echo"Error:".$sql."<br/>".mysqli_error($connect);
}

mysqli_close($connect);

?>
<?php
//拷贝命名为write2db_sqlio.php,数据库用mysqli面向对象调用方法
//print_r($_POST);

//createavariable
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
$department=$_POST['department'];
$email=$_POST['email'];

//调试用
echo"Yourinput:";
echo$first_name;
echo'<br/>';
echo$last_name;
echo'<br/>';
echo$department;
echo'<br/>';
echo$email;
echo'<br/>';


$servername="localhost";
//
//$username="username";
//$password="password";
$username="tester";
$password="testerPassword";
//databasename
$dbname="test";

$tablename="student";//Createconnection
$conn=newmysqli($servername,$username,$password,$dbname);
//Checkconnection
if($conn->connect_error){
die("Connectionfailed:".$conn->connect_error);
}

$sql="INSERTINTO$tablename(first_name,last_name,department,email)
VALUES('$first_name','$last_name','$department','$email')";

if($conn->query($sql)===TRUE){
echo"Newrecordcreatedsuccessfully";
}else{
echo"Error:".$sql."<br>".$conn->error;
}

$conn->close();

?>
<?php
//拷贝为文件write2db_pdo.php,数据库用PDO调用方法

//print_r($_POST);
avariable
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
$department=$_POST['department'];
$email=$_POST['email'];

//调试用
echo"Yourinput:";
echo$first_name;
echo'<br/>';
echo$last_name;
echo'<br/>';
echo$department;
echo'<br/>';
echo$email;
echo'<br/>';


$servername="localhost";
//
//$username="username";
//$password="password";
$username="tester";
$password="testerPassword";
//yourdatabasename
$dbname="test";

$tablename="student";//Createconnection
try{
$conn=newPDO("mysql:host=$servername;dbname=$dbname",$username,$password);
//setthePDOerrormodetoexception
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$sql="INSERTINTO$tablename(first_name,last_name,department,email)
VALUES('$first_name','$last_name','$department','$email')";
//useexec()
$conn->exec($sql);
echo"Newrecordcreatedsuccessfully";
}
catch(PDOException$e)
{
echo$sql."<br>".$e->getMessage();
}

$conn=null;

?>
--创建数据库test,将此文件存为test.sql导入数据库,或者手动创建表结构
--phpMyAdminSQLDump
--version4.7.4
--https://www.phpmyadmin.net/
--
--Host:127.0.0.1:3306
--GenerationTime:Mar12,2018at04:04AM
--Serverversion:5.7.19
--PHPVersion:7.1.9

SETSQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SETAUTOCOMMIT=0;
STARTTRANSACTION;
SETtime_zone="+00:00";


/*!40101SET@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT*/;
/*!40101SET@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS*/;
/*!40101SET@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION*/;
/*!40101SETNAMESutf8mb4*/;

--
--Database:`test`
--

----------------------------------------------------------

--
--Tablestructurefortable`student`
--

DROPTABLEIFEXISTS`student`;
CREATETABLEIFNOTEXISTS`student`(
`id`tinyint(3)UNSIGNEDNOTNULLAUTO_INCREMENT,
`first_name`varchar(20)NOTNULL,
`last_name`varchar(20)NOTNULL,
`department`varchar(50)NOTNULL,
`email`varchar(50)NOTNULL,
PRIMARYKEY(`id`)
)ENGINE=MyISAMAUTO_INCREMENT=2DEFAULTCHARSET=utf8;

--
--Dumpingdatafortable`student`
--

INSERTINTO`student`(`id`,`first_name`,`last_name`,`department`,`email`)VALUES
(1,'first1','last1','cs','[email protected]');
COMMIT;

/*!40101SETCHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT*/;
/*!40101SETCHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS*/;
/*!40101SETCOLLATION_CONNECTION=@OLD_COLLATION_CONNECTION*/;

④ mysql字段是DECIMAL(9,2) 字段=''是什么意思

mysql字段decimal(9,2)中9是定点精度,2是小数位数。

存在这么一个公式:decimal(a,b)。

其中a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38;

b指定小数点右边可以存储的十进制数字的最大个数,小数位数必须是从 0 到 a之间的值,默

认小数位数是 0。

⑤ mysql在php中的函数头输入答案 当要高精运算,要什么输入答案 如何终止php的sq|连接

这个我只能给你思路,每个人都有不一样的编程风格和习惯,
1 首先你要要确定mysql与php中的函数有什么关系,无关系就不需要用到数据库,有关系那么就用存储过程,你会用的话就用 ,不会用那么就用表直接输入读取
2 要高精运算,那么是使用decimal、float、double这是三个中的哪一个,捡你会用的
3在php中编写输入参数,并将结果打印出来然后断开数据库的连接,也叫关闭数据库
<?php
//localhost 主机名 或者127.0.0.1 root 数据库账户aaaa数据库密码
$con = mysql_connect("localhost","root","aaaa");
if (!$con)
{
//如果连接失败提示mysql错误代码
die('Could not connect: ' . mysql_error());
}else{
echo '连接成功;
}

// 关闭数据库连接
mysql_close($con);

⑥ 为何用php页面向mysql提交数据加入的数据全为0

$sql="insert into waterelecticmoney (id,month,totalmoney,A,B,C,D,E,F,G,H,I,J)".
"values ('','$_POST[month])','$_POST[totalmoney]','$_POST[A]','$_POST[B]','$_POST[C]')"; //请问,你这里的$_POST[month]等等一系列的变量是哪里来的?把程序改了罢,看下方的完整程序,你就知道错在哪里了:

<form action="submit.php" method="post">

本月水电总费用:<input type="text" name="month" /><br/>//这里name与后面写数据库的POST括号中的字符串要一致才行。
单位价格:<input type="text" name="totalmoney" /><br/>
A居住天数:<input type="text" name="A" /><br/>
B居住天数:<input type="text" name="B" /><br/>
C居住天数:<input type="text" name="C" /><br/>

<input type= "submit" name="submit" value="提交"/>
</form>

<?php

include ("conn.php");

if ($_POST['submit']){

$sql="insert into waterelecticmoney (id,month,totalmoney,A,B,C,D,E,F,G,H,I,J)".
"values ('','$_POST[month])','$_POST[totalmoney]','$_POST[A]','$_POST[B]','$_POST[C]')";

mysql_query($sql);
echo "提交成功";
}

?>

⑦ php与mysql的float类型的精度是分别怎么样的

对于单精度浮点数Float: 当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这个范围的数据就不稳定,没有发现有相关的参数设置建议:将float改成double或者decimal,两者的差别是double是浮点计算,decimal是定点计算,会得到更精确的数据。
1.float类型
float列类型默认长度查不到结果,必须指定精度,
比如 num float, insert into table (num) values (0.12); select * from table where num=0.12的话,empty set。

⑧ PHP下如何创建MYSQL存储过程

直接上代码:
mysql_connect("localhost","user","pwd");
mysql_select_db('testdata')ordie(mysql_error());
$sql="createproceretb_neaten(inrecint,inpavarchar(15),inqydecimal(10,2),inarvarchar(6))
begin
updatetest1setqty=qty-qywhererecordnum=rec;
insertintotest2setbname=pa,area=ar,qty=qy,date=date_format(now(),'%Y%m%d'),time=date_format(now(),'%Y%m%d');
end;";
mysql_query($sql)ordie(mysql_error());
若是存储过程里含有捕获select结果的语句时,需在mysql_connect时调整参数
mysql_connect("localhost","user","password",1,131072)
执行时,直接运行
mysql_query(tb_neaten(va1,va2,va3,va4));

⑨ MySQL的float和decimal的区别疑问

float是单精度浮点数,decimal不属于浮点数类型,可以在定义时划定整数部份以及小数部分的位数。
如果你要认真学习Mysql或PHP开发编程,建议能到正规培训机构参加培训,会有专业老师帮助你,让你少走很多弯路。

⑩ 我mysql数据字段我设置了decimal那么php运算我用哪个类型好呢怎么用post过来的数据

运算还是正常运算啊,结果保存的时候用cast(结果 as decimal)函数转换一下就行了

阅读全文

与phpmysqldecimal相关的资料

热点内容
24bit高频精品解压音乐 浏览:181
api程序员遇到更新 浏览:298
程序员程序运行搞笑图 浏览:772
秦思怎么下载app 浏览:691
发抖音怎么发自己的APP网站 浏览:362
androidinbitmap 浏览:772
lzma源码使用 浏览:748
ibm服务器湖南经销商云服务器 浏览:991
正规模板建站配云服务器商家 浏览:873
安卓清楚缓存命令 浏览:378
汽车压缩机电磁离合器损坏怎么修 浏览:507
怎么提取安卓软件 浏览:596
单片机和主机高速传文件 浏览:479
男生直发加密需要剃光头吗 浏览:826
qtdesignerlinux 浏览:431
命令的几要素 浏览:933
代理服务器地址怎么知道 浏览:173
汉语命令形 浏览:193
ACG官网下载的游戏怎么解压 浏览:964
stata交叉项命令 浏览:471