What is the difference?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
Can you tell me if there's a relevant difference between the codes below?
$stmtLA = "SELECT `title`, `audio`, `capa`, `link`, `alt` FROM table WHERE type = 'tes' AND formato = 'mv' ORDER BY id DESC LIMIT 6";
$IDLA = $conn->query($stmtLA);
And
$IDLA = $conn->query("SELECT `title`, `audio`, `capa`, `link`, `alt` FROM table WHERE type = 'tes' AND formato = 'nv' ORDER BY id DESC LIMIT 6");
I have many queries like this one, to get records from my db and print on the screen. I was thinking if i get performance if i use the 'single line' query.
mysql sql pdo
add a comment |
Can you tell me if there's a relevant difference between the codes below?
$stmtLA = "SELECT `title`, `audio`, `capa`, `link`, `alt` FROM table WHERE type = 'tes' AND formato = 'mv' ORDER BY id DESC LIMIT 6";
$IDLA = $conn->query($stmtLA);
And
$IDLA = $conn->query("SELECT `title`, `audio`, `capa`, `link`, `alt` FROM table WHERE type = 'tes' AND formato = 'nv' ORDER BY id DESC LIMIT 6");
I have many queries like this one, to get records from my db and print on the screen. I was thinking if i get performance if i use the 'single line' query.
mysql sql pdo
6
You won't get a better performance if you save yourself a variable.
– juergen d
Nov 16 '18 at 15:46
1
formato = 'nv' vs formato = 'mv' is a difference in the queries so they should return different results. Maybe there was an intention to make the value "mv" variable? This can be done by preparing the query in a variable with PDO
– Sander Visser
Nov 16 '18 at 15:54
@SanderVisser Nop, this is just random values. Just to ask here
– nobody
Nov 16 '18 at 15:59
add a comment |
Can you tell me if there's a relevant difference between the codes below?
$stmtLA = "SELECT `title`, `audio`, `capa`, `link`, `alt` FROM table WHERE type = 'tes' AND formato = 'mv' ORDER BY id DESC LIMIT 6";
$IDLA = $conn->query($stmtLA);
And
$IDLA = $conn->query("SELECT `title`, `audio`, `capa`, `link`, `alt` FROM table WHERE type = 'tes' AND formato = 'nv' ORDER BY id DESC LIMIT 6");
I have many queries like this one, to get records from my db and print on the screen. I was thinking if i get performance if i use the 'single line' query.
mysql sql pdo
Can you tell me if there's a relevant difference between the codes below?
$stmtLA = "SELECT `title`, `audio`, `capa`, `link`, `alt` FROM table WHERE type = 'tes' AND formato = 'mv' ORDER BY id DESC LIMIT 6";
$IDLA = $conn->query($stmtLA);
And
$IDLA = $conn->query("SELECT `title`, `audio`, `capa`, `link`, `alt` FROM table WHERE type = 'tes' AND formato = 'nv' ORDER BY id DESC LIMIT 6");
I have many queries like this one, to get records from my db and print on the screen. I was thinking if i get performance if i use the 'single line' query.
mysql sql pdo
mysql sql pdo
asked Nov 16 '18 at 15:45
nobodynobody
849
849
6
You won't get a better performance if you save yourself a variable.
– juergen d
Nov 16 '18 at 15:46
1
formato = 'nv' vs formato = 'mv' is a difference in the queries so they should return different results. Maybe there was an intention to make the value "mv" variable? This can be done by preparing the query in a variable with PDO
– Sander Visser
Nov 16 '18 at 15:54
@SanderVisser Nop, this is just random values. Just to ask here
– nobody
Nov 16 '18 at 15:59
add a comment |
6
You won't get a better performance if you save yourself a variable.
– juergen d
Nov 16 '18 at 15:46
1
formato = 'nv' vs formato = 'mv' is a difference in the queries so they should return different results. Maybe there was an intention to make the value "mv" variable? This can be done by preparing the query in a variable with PDO
– Sander Visser
Nov 16 '18 at 15:54
@SanderVisser Nop, this is just random values. Just to ask here
– nobody
Nov 16 '18 at 15:59
6
6
You won't get a better performance if you save yourself a variable.
– juergen d
Nov 16 '18 at 15:46
You won't get a better performance if you save yourself a variable.
– juergen d
Nov 16 '18 at 15:46
1
1
formato = 'nv' vs formato = 'mv' is a difference in the queries so they should return different results. Maybe there was an intention to make the value "mv" variable? This can be done by preparing the query in a variable with PDO
– Sander Visser
Nov 16 '18 at 15:54
formato = 'nv' vs formato = 'mv' is a difference in the queries so they should return different results. Maybe there was an intention to make the value "mv" variable? This can be done by preparing the query in a variable with PDO
– Sander Visser
Nov 16 '18 at 15:54
@SanderVisser Nop, this is just random values. Just to ask here
– nobody
Nov 16 '18 at 15:59
@SanderVisser Nop, this is just random values. Just to ask here
– nobody
Nov 16 '18 at 15:59
add a comment |
1 Answer
1
active
oldest
votes
The first version creates a throw-away variable that's then used in the query. The second version just runs the query.
There's no difference in terms of performance, but in the first there is a risk here that you may misfire and execute the wrong query.
I strongly recommend following the second style because you've loaded the query directly and it's visually obvious what's executing. In the former it's possible to have two slightly similar variables with two completely different queries in use, like $sql3
and $sql8
which at a quick glance might seem identical.
Alright, but i would get any security against attacks, if i put the SELECT into a variable, like the first version?
– nobody
Nov 16 '18 at 15:53
In both cases this is 100% dependent on the query being safe. The only difference is the direct operation versus indirect operation. To secure your query be absolutely certain you're using prepared statements with placeholder values. The query you show here has no dynamic data, so there's no way to comment on security issues. If you introduce user data into your actual query you may have huge problems.query(...)
cannot deal with user data.prepare()
can.
– tadman
Nov 16 '18 at 15:54
As i said, i use this query to get records from my db and print on the screem (with a foreach loop), it's not even on the user-side. So do you think that i should use prepared statements with placeholder values?
– nobody
Nov 16 '18 at 15:57
You can see a full example of my code here: pastebin.com/ShvbLQKu
– nobody
Nov 16 '18 at 16:10
Since the query itself has no dynamic components there's no difference.
– tadman
Nov 16 '18 at 16:29
|
show 2 more comments
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53341152%2fwhat-is-the-difference%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The first version creates a throw-away variable that's then used in the query. The second version just runs the query.
There's no difference in terms of performance, but in the first there is a risk here that you may misfire and execute the wrong query.
I strongly recommend following the second style because you've loaded the query directly and it's visually obvious what's executing. In the former it's possible to have two slightly similar variables with two completely different queries in use, like $sql3
and $sql8
which at a quick glance might seem identical.
Alright, but i would get any security against attacks, if i put the SELECT into a variable, like the first version?
– nobody
Nov 16 '18 at 15:53
In both cases this is 100% dependent on the query being safe. The only difference is the direct operation versus indirect operation. To secure your query be absolutely certain you're using prepared statements with placeholder values. The query you show here has no dynamic data, so there's no way to comment on security issues. If you introduce user data into your actual query you may have huge problems.query(...)
cannot deal with user data.prepare()
can.
– tadman
Nov 16 '18 at 15:54
As i said, i use this query to get records from my db and print on the screem (with a foreach loop), it's not even on the user-side. So do you think that i should use prepared statements with placeholder values?
– nobody
Nov 16 '18 at 15:57
You can see a full example of my code here: pastebin.com/ShvbLQKu
– nobody
Nov 16 '18 at 16:10
Since the query itself has no dynamic components there's no difference.
– tadman
Nov 16 '18 at 16:29
|
show 2 more comments
The first version creates a throw-away variable that's then used in the query. The second version just runs the query.
There's no difference in terms of performance, but in the first there is a risk here that you may misfire and execute the wrong query.
I strongly recommend following the second style because you've loaded the query directly and it's visually obvious what's executing. In the former it's possible to have two slightly similar variables with two completely different queries in use, like $sql3
and $sql8
which at a quick glance might seem identical.
Alright, but i would get any security against attacks, if i put the SELECT into a variable, like the first version?
– nobody
Nov 16 '18 at 15:53
In both cases this is 100% dependent on the query being safe. The only difference is the direct operation versus indirect operation. To secure your query be absolutely certain you're using prepared statements with placeholder values. The query you show here has no dynamic data, so there's no way to comment on security issues. If you introduce user data into your actual query you may have huge problems.query(...)
cannot deal with user data.prepare()
can.
– tadman
Nov 16 '18 at 15:54
As i said, i use this query to get records from my db and print on the screem (with a foreach loop), it's not even on the user-side. So do you think that i should use prepared statements with placeholder values?
– nobody
Nov 16 '18 at 15:57
You can see a full example of my code here: pastebin.com/ShvbLQKu
– nobody
Nov 16 '18 at 16:10
Since the query itself has no dynamic components there's no difference.
– tadman
Nov 16 '18 at 16:29
|
show 2 more comments
The first version creates a throw-away variable that's then used in the query. The second version just runs the query.
There's no difference in terms of performance, but in the first there is a risk here that you may misfire and execute the wrong query.
I strongly recommend following the second style because you've loaded the query directly and it's visually obvious what's executing. In the former it's possible to have two slightly similar variables with two completely different queries in use, like $sql3
and $sql8
which at a quick glance might seem identical.
The first version creates a throw-away variable that's then used in the query. The second version just runs the query.
There's no difference in terms of performance, but in the first there is a risk here that you may misfire and execute the wrong query.
I strongly recommend following the second style because you've loaded the query directly and it's visually obvious what's executing. In the former it's possible to have two slightly similar variables with two completely different queries in use, like $sql3
and $sql8
which at a quick glance might seem identical.
answered Nov 16 '18 at 15:48
tadmantadman
158k19182211
158k19182211
Alright, but i would get any security against attacks, if i put the SELECT into a variable, like the first version?
– nobody
Nov 16 '18 at 15:53
In both cases this is 100% dependent on the query being safe. The only difference is the direct operation versus indirect operation. To secure your query be absolutely certain you're using prepared statements with placeholder values. The query you show here has no dynamic data, so there's no way to comment on security issues. If you introduce user data into your actual query you may have huge problems.query(...)
cannot deal with user data.prepare()
can.
– tadman
Nov 16 '18 at 15:54
As i said, i use this query to get records from my db and print on the screem (with a foreach loop), it's not even on the user-side. So do you think that i should use prepared statements with placeholder values?
– nobody
Nov 16 '18 at 15:57
You can see a full example of my code here: pastebin.com/ShvbLQKu
– nobody
Nov 16 '18 at 16:10
Since the query itself has no dynamic components there's no difference.
– tadman
Nov 16 '18 at 16:29
|
show 2 more comments
Alright, but i would get any security against attacks, if i put the SELECT into a variable, like the first version?
– nobody
Nov 16 '18 at 15:53
In both cases this is 100% dependent on the query being safe. The only difference is the direct operation versus indirect operation. To secure your query be absolutely certain you're using prepared statements with placeholder values. The query you show here has no dynamic data, so there's no way to comment on security issues. If you introduce user data into your actual query you may have huge problems.query(...)
cannot deal with user data.prepare()
can.
– tadman
Nov 16 '18 at 15:54
As i said, i use this query to get records from my db and print on the screem (with a foreach loop), it's not even on the user-side. So do you think that i should use prepared statements with placeholder values?
– nobody
Nov 16 '18 at 15:57
You can see a full example of my code here: pastebin.com/ShvbLQKu
– nobody
Nov 16 '18 at 16:10
Since the query itself has no dynamic components there's no difference.
– tadman
Nov 16 '18 at 16:29
Alright, but i would get any security against attacks, if i put the SELECT into a variable, like the first version?
– nobody
Nov 16 '18 at 15:53
Alright, but i would get any security against attacks, if i put the SELECT into a variable, like the first version?
– nobody
Nov 16 '18 at 15:53
In both cases this is 100% dependent on the query being safe. The only difference is the direct operation versus indirect operation. To secure your query be absolutely certain you're using prepared statements with placeholder values. The query you show here has no dynamic data, so there's no way to comment on security issues. If you introduce user data into your actual query you may have huge problems.
query(...)
cannot deal with user data. prepare()
can.– tadman
Nov 16 '18 at 15:54
In both cases this is 100% dependent on the query being safe. The only difference is the direct operation versus indirect operation. To secure your query be absolutely certain you're using prepared statements with placeholder values. The query you show here has no dynamic data, so there's no way to comment on security issues. If you introduce user data into your actual query you may have huge problems.
query(...)
cannot deal with user data. prepare()
can.– tadman
Nov 16 '18 at 15:54
As i said, i use this query to get records from my db and print on the screem (with a foreach loop), it's not even on the user-side. So do you think that i should use prepared statements with placeholder values?
– nobody
Nov 16 '18 at 15:57
As i said, i use this query to get records from my db and print on the screem (with a foreach loop), it's not even on the user-side. So do you think that i should use prepared statements with placeholder values?
– nobody
Nov 16 '18 at 15:57
You can see a full example of my code here: pastebin.com/ShvbLQKu
– nobody
Nov 16 '18 at 16:10
You can see a full example of my code here: pastebin.com/ShvbLQKu
– nobody
Nov 16 '18 at 16:10
Since the query itself has no dynamic components there's no difference.
– tadman
Nov 16 '18 at 16:29
Since the query itself has no dynamic components there's no difference.
– tadman
Nov 16 '18 at 16:29
|
show 2 more comments
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53341152%2fwhat-is-the-difference%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
6
You won't get a better performance if you save yourself a variable.
– juergen d
Nov 16 '18 at 15:46
1
formato = 'nv' vs formato = 'mv' is a difference in the queries so they should return different results. Maybe there was an intention to make the value "mv" variable? This can be done by preparing the query in a variable with PDO
– Sander Visser
Nov 16 '18 at 15:54
@SanderVisser Nop, this is just random values. Just to ask here
– nobody
Nov 16 '18 at 15:59